2016-06-17 51 views
-1

我的目標是讓用戶單擊ComboBox,鍵入ComboBox中的文本,然後按回車並將該文本添加爲​​列表中的項目。如何在運行時使用C將項目添加到組合框中#

我的主要問題是我不知道要使用什麼事件。我仔細研究過所有這些情況,但我沒有發現任何我認爲會適用於這種情況的方法。

如果有一個更簡單的方法可以做到這一點,但不是ComboBox請提及它。

回答

0

訂閱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 
    } 
} 
+1

嗯..有趣。向下選民請解釋什麼是錯的? –

+0

Ty這完全解決了我的問題:) – Nate

+0

太好了,很高興它幫助了你。 –

-1

如果你想在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(); 
    } 
} 
相關問題