我的目標是讓用戶單擊ComboBox
,鍵入ComboBox
中的文本,然後按回車並將該文本添加爲列表中的項目。如何在運行時使用C將項目添加到組合框中#
我的主要問題是我不知道要使用什麼事件。我仔細研究過所有這些情況,但我沒有發現任何我認爲會適用於這種情況的方法。
如果有一個更簡單的方法可以做到這一點,但不是ComboBox
請提及它。
我的目標是讓用戶單擊ComboBox
,鍵入ComboBox
中的文本,然後按回車並將該文本添加爲列表中的項目。如何在運行時使用C將項目添加到組合框中#
我的主要問題是我不知道要使用什麼事件。我仔細研究過所有這些情況,但我沒有發現任何我認爲會適用於這種情況的方法。
如果有一個更簡單的方法可以做到這一點,但不是ComboBox
請提及它。
訂閱KeyUp
事件,當用戶鍵入Enter
添加文字Combobox
comboBox1.KeyUp +=(comboBox1_KeyUp; // subscribe to an event.
private void comboBox1_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
comboBox1.Items.Add(comboBox1.Text); // Add
}
}
如果你想在ComboBox
添加項目,然後嘗試添加這樣ComboBox1.Items.Add(your_object);
例如:
ComboBox1.Items.Add(TextBox1.Text);
您可以使用Button_Click
事件進行上述動作。
不太確定您是否想從數據庫中檢索添加的項目。如果是這樣,那麼您可以使用Databinding
將ComboBox綁定到數據源。
OR
假設您正在加載從數據庫中的數據組合框,你也可以這樣做:
添加一個新行到您的DataSet
ds.tables[0].rows.add(TextBox1.Text);
更新您的DataSet
dataAdapter.update(ds);
刷新你的ComboBox
,你就可以看到你輸入的項目。
ComboBox1.datasource = ds;
所以,
private void button1_Click(object sender, EventArgs e)
{
string cs = "Data Source=ServerName; Initial Catalog=DatabaseName; Integrated Security=SSPI;";
string sql = "Your query goes here, i.e the info that you want to display in your ComboBox";
SqlConnection con = new SqlConnection(cs);
SqlDataAdapter dataAdapter = new SqlDataAdapter(sql,con);
try
{
con.Open();
Dataset ds = new DataSet();
ds.tables[0].rows.add(TextBox1.Text);
dataAdapter.update(ds);
ComboBox1.datasource = ds;
}
finally
{
con.Close();
}
}
嗯..有趣。向下選民請解釋什麼是錯的? –
Ty這完全解決了我的問題:) – Nate
太好了,很高興它幫助了你。 –