如果我不知道運行時用戶選擇多少個複選框,如何將動態創建的複選框的名稱存儲在字符串數組中。 說我有10個動態複選框,10個用戶中的任意一個現在選擇6複選框如何獲取這些選中複選框的名稱並將它們存儲在一個字符串數組中。如何將動態複選框的名稱存儲在字符串數組中
我知道如何在動態複選框上使用事件處理函數,但是我不知道如何聲明Straing數組,當我不知道數組的大小時。
在這裏我做了什麼至今 -
private void CheckBoxCheckedChanged(object sender, EventArgs e)
{
CheckBox c = (CheckBox)sender;
//Label myLabel;
String str = null;
if (c.Checked == true)
{
str = c.Text;
gpBox[gpcount] = new GroupBox();
gpBox[gpcount].Name = "gpBox" + Convert.ToString(count);
gpBox[gpcount].Text = str;
gpBox[gpcount].Location = new Point(5, gpposition);
gpBox[gpcount].AutoSize = true;
this.Controls.Add(gpBox[gpcount]);
aCommand3 = new OleDbCommand("select * from batch_tbl where batch_branch LIKE '" + str + "'", main_connection);
aAdapter3 = new OleDbDataAdapter(aCommand3);
ds3 = new DataSet();
aAdapter3.Fill(ds3, "app_info");
ds3.Tables[0].Constraints.Add("pk_bno", ds3.Tables[0].Columns[0], true);
int batch_count = ds3.Tables[0].Rows.Count;
batchCheckBox = new CheckBox[batch_count];
//filling the groupbox with batch code by generating dynamic checkboxes
for (int j=0; j < batch_count; ++j)
{
batchCheckBox[j] = new CheckBox();
batchCheckBox[j].Name = "batch" + Convert.ToString(k);
batchCheckBox[j].Text = ds3.Tables[0].Rows[j][1].ToString();
Console.WriteLine(batchCheckBox[j].Text);
batchCheckBox[j].Location = new System.Drawing.Point(104 * position, 30);
gpBox[gpcount].Controls.Add(batchCheckBox[j]);
batchCheckBox[j].CheckStateChanged += new System.EventHandler(BatchBoxCheckedChanged);
position++;
count++;
Console.WriteLine(batchCheckBox[j].Name);
k++;
}
position = 1;
gpposition += 100;
}
else
{
count--;
this.Controls.RemoveByKey("lbl" + c.Name);
this.Update();
}
}
int total_batch = 1;
string[] batchname;
private void BatchBoxCheckedChanged(object sender, EventArgs e)
{
CheckBox batchBox = (CheckBox)sender;
//Here I want to store name of checkbox in array
if (batchBox.Checked == true)
{
batchname = new String[total_batch];
total_batch++;
}
else
{
}
}
如果你只是想保存在陣列的複選框名稱。然後,而不是數組,使用'列表名稱=新列表()' –
Sachin
2013-05-13 06:36:21
@ Sachine謝謝你的指導,請給我一些亮點,所以我可以使用列表,因爲我是新的列表。 Furthur我必須將這些名稱傳遞給另一個表單 – user2241865 2013-05-13 06:47:17
@ user2241865一個列表基本上是一個可以動態調整大小(容量)的數組。在大多數Senario中工作起來更容易:) – 2013-05-13 06:55:56