0
私はC#で、辞書の各要素のチェックボックスを示すWindowsフォームダイアログを持っています。ダイアログは、選択されたすべての要素(チェックボックス)を含むリストを返します。しかし、チェックボックスを選択してもう一度チェックを外すと、Elementは返されたSelected ElementsのListに残ります。 これを修正するにはどうすればよいですか?コメントを1としてC#Checkbox-Dialogチェックをはずすには
public SelectDialog(Dictionary<string, string> Result)
{
int left = 45;
int idx = 0;
InitializeComponent();
for (int i = 0; i < Result.Count; i++)
{
CheckBox rdb = new CheckBox();
rdb.Text = Result.Values.ElementAt(i).Equals("") ? Result.Keys.ElementAt(i) : Result.Values.ElementAt(i);
rdb.Size = new Size(100, 30);
this.Controls.Add(rdb);
rdb.Location = new Point(left, 70 + 35 * idx++);
if (idx == 3)
{
idx = 0; //Reihe zurücksetzen
left += rdb.Width + 5; // nächste Spalte
}
rdb.CheckedChanged += (s, ee) =>
{
var r = s as CheckBox;
if (r.Checked)
this.selectedString.Add(r.Text);
};
}
}
//Some more Code
}
したがって、未チェックの項目を 'this.selectedString'から除外する必要がありますか? –
@ un-luckyはい、そうだと思います。 – dnks23