現在、Winformには、ユーザーがクリックした内容に応じてさまざまな時点で無効化/有効化する必要のあるボタンがいくつかあります。
私が作った最初のドラフトは
button1.Enabled = false;
button2.Enabled = false;
2つのボタンを無効にすることは、明らかにこれを行うための恐ろしい方法です。これは、現在2つを超えており、これはまだ開発中であるため、今後さらに増える可能性があります。そのため、フォーム上のボタンの選択を簡単に変更する方法が必要です。
それから私はこれを思いついた
private enum Buttons { Button1, Button2 } // etc with all buttons - that are named :)
private void DisableButtons(params Buttons[] buttons)
{
foreach (Buttons button in buttons)
{
switch (button)
{
case Buttons.Button1:
button1.Enabled = false;
break;
case Buttons.Button2:
button2.Enabled = false;
break;
}
}
}
私はまだあまり満足していませんでした。switch-case
私はとをスクラップすることができforeach
ます
private void DisableButtons(params Buttons[] buttons)
{
button1.Enabled = buttons.Contains(Buttons.Button1) ? false : true;
}
ボタンごとに、しかし私はただもっと良い方法があるに違いないと思います。
これをより効率的に行う方法について何かアイデアはありますか?
ありがとう