Windows フォームと C# を使用して作成されたミニ セットアップ プログラムがあり、問題があります。
4 つの CheckBox コントロールがあり、チェックされた情報を取得して別のフォームで使用して、どのチェックボックスがチェックされているかを提供したいと考えています。もう 1 つのフォームには、チェック ボックスがオンになっているモジュールのリストのみが表示されます。
Form2 でチェックされたモジュールのみを表示するにはどうすればよいですか?
詳細がわかるまで、いくつかのアイデアを提供します。
Form2
彼のコンストラクターで getForm1
および have Form1
give メソッドを次のように使用できます。
public bool IsCheckboxChecked(int checkIndex)
{
if (checkIndex == 1)
{
return checkBox1.Checked;
}
else if (checkIndex == 2)
{
return checkBox2.Checked;
}
else if (checkIndex == 3)
{
return checkBox3.Checked;
}
else if (checkIndex == 4)
{
return checkBox4.Checked;
}
else
{
return false;
}
}
その情報を 2 番目のフォームに渡す必要があります。
したがって、値From2
のリストなどを取得するメソッドを追加して、bool
このメソッドをパブリックにすることができます。
// put this method in Form2
public void SetModules(IList<bool> modulesEnabled)
{
// here you can test whether a certain module is enabled
// by checking modulesEnabled[0], modulesEnabled[1], etc.
}
Form1 から、From2 を表示する前に、チェックボックスの状態を取得し、modulesEnabled 配列を作成します。次に、Form2 で SetModules を呼び出します。
Form2 secondForm = new Form2();
IList<bool> modulesList = new List<bool>();
modulesList.Add(checkBox1.Checked);
modulesList.Add(checkBox2.Checked);
modulesList.Add(checkBox3.Checked);
modulesList.Add(checkBox4.Checked);
secondForm.SetModules(modulesList); // make sure to call this BEFORE showing Form2
secondForm.Show();