2012-07-16 73 views
8

我希望我的應用程序能夠獲取組合框的值,然後設置用戶選擇的值或以某種方式獲取之前選定的值。獲取組合框的先前值

問題是,在我的表單中,有四個列表和一個ComboBox(其中包含列表中的所有值),我想將ComboBox的值重新填充到從中取出的列表中,然後刪除從其他/相同列表中新選擇的項目。

回答

16

您想處理ComboBox.Enter事件。然後將SelectedItemSelectedValue保存到成員變量中。只要你想,那麼你可以重新分配該值到組合框。

註冊參加活動。您可以通過以下兩種方法之一來完成這一操作:

通過設計器完成。選擇你的組合框。在「屬性窗口」中,單擊閃電圖標以顯示其所有事件。然後找到「Enter」,然後在框中雙擊。它會自動爲您生成回調函數(「事件處理程序」),並將其連接到事件。

enter image description here

enter image description here

可以編程做同樣的事情。在構造函數中,掛鉤事件處理程序正確簽名:

public partial class Form1 : Form 
{ 
    public Form1() 
    { 
     InitializeComponent(); 
     comboBox1.Enter += comboBox1_Enter; 
    } 

    private void comboBox1_Enter(object sender, EventArgs e) 
    { 
     m_cb1PrevVal = comboBox1.SelectedValue; 
    } 

    private void RestoreOldValue() 
    { 
     comboBox1.SelectedValue = m_cb1PrevVal; 
    } 
} 
+1

哦,還好,所以最後我必須學會如何管理那些... – smsware 2012-07-16 00:39:14

+0

管理,究竟是什麼? – 2012-07-16 00:39:54

+0

事件,從來沒有用過它們......它們看起來很可怕:) – smsware 2012-07-16 00:41:09