Ich habe ein Formularentwurf, der 5 Kontrolle-Kästchen hat. Ich werde sie Bus1, Bus2 ... Bus5 nennen.Exportieren Sie überprüfte Form1.checkBoxes zu Form2.listBox
Ich habe "Bearbeiten" -Taste, die Form2, die ListBox hat.
Wenn ich "Edit" -Button drücke, möchte ich nur markierte Kästchen nehmen und sie in listBox setzen.
Ich dachte über das Überprüfen einzelner Kontrollkästchen nach, und wenn es zutrifft, fügen Sie sie der Liste hinzu.
private void button1_Click(object sender, EventArgs e)
{
if(checkBox1.Checked==true)
{
form2.listBox1.Items.Add("checkBox1.Text");
}
if(checkBox2.Checked==true)
{
...
}
...
}
Ist dies ein richtiger Weg oder gibt es einen besseren?
Dank
bearbeiten --------------------------------------
private void button1_click(object sender, EventArgs e)
{
Form2 form2 = new Form2();
form2.Show();
foreach(var checkBox in this.Controls.OfType<CheckBox>().Where(c=>c.Checked))
{
form2.listBox1.Items.Add(checkBox.Text);
}
}
in Anbetracht, dass wir alle Kontrollkästchen in Form benötigen, können Sie anrufen Funktion 'PopulateListBox' so: 'form2.PopulateListBox (this.Controls.OfType())'. Und durch das Ersetzen des Eingabearguments auf IEnumerable wird verhindert, dass ein redundantes Array erstellt wird, das für das Argument "param" erstellt wird. –
Ich ging für die Flexibilität des Benutzers, die Auswahl der Kontrollkästchen, falls nicht _all_ sollte enthalten sein. – ja72