我正在開發項目在widows c#.net中。在形式上,我有超過8個組合框控件。 當combobox1選擇如下改變時,我會加載數據到combobox2。將方法作爲參數傳遞給另一個方法
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
comboBox2.DataSource = DataTable;
comboBox2.DisplayMember="Name";
comboBox2.ValueMember = "ID";
}
Combobox3將被加載,當我選擇combobox2像下面。
private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
{
comboBox3.DataSource = DataTable;
comboBox3.DisplayMember = "Age";
comboBox3.ValueMember = "AgeCode";
}
就像我會加載數據到其餘的組合框。
這裏的問題是錯誤會發生,如果我沒有檢查comboBox1_SelectedIndexChanged
方法是否加載或不加載comboBox2。
我知道我們可以通過使用布爾變量來檢查,但可怕的是我們需要保持其「真/假」狀態來休息所有方法。
所以我想到在簡單的方法來解決這個問題的是,我將使用Add(combobox, Methodname)
方法和Remove(combobox, method)
方法來添加和刪除組合框SelectedIndexChanged
事件comboBox_SelectedIndexChanged
功能。
但我無法通過該方法作爲參數。任何人都可以告訴我如何將方法作爲參數傳遞給我的需求。
看看'Func'和'Action' – 2013-03-18 11:12:23
檢查這個答案http://stackoverflow.com/a/2082650/182344 – RredCat 2013-03-18 11:13:25
你可以傳遞委託作爲參數。但我認爲這不會解決您的問題。 – 2013-03-18 11:13:47