簡體   English   中英

C#中的多個組合框

[英]multiple combo box in c#

我是C#的新手。 我正在嘗試根據查詢結果創建多個組合框。 如果查詢結果為5個項目,我需要制作5個組合框。 但是我不知道如何添加事件處理程序(選擇更改的事件)。 我使用的是組合框數組,框數可能會有所不同。 我如何知道此數組的哪個comboBox已更改並為之處理事件

假設這是WinForms ...

在創建控件時,分配一個通用事件處理程序:

foreach (DataRow row in ADataTable)
{
    ComboBox box = new ComboBox();
    box.OnSelectionChanged += comboBox_OnSelectionChanged;
}

protected void comboBox_OnSelectionChanged(Object sender, EventArgs e)
{
    if (sender is ComboBox)
    {
        ComboBox box = (ComboBox)sender;
        //do what you like with it
    }
}

為了在有問題的ComboBox上進行操作,您無需了解任何有關陣列的知識。 實際上,除非故事有更多內容,否則您可能根本不需要陣列。

您可以創建組合框的子類,在這種情況下,您可以覆蓋事件,也可以獲取組合框的名稱並執行類似的操作

comboboxName.OnSelected += (obj, args) => MethodToCall();

我不認為這是事件的確切名稱,但是應該可以幫助您開始。 處理事件有多種變體,例如

comboboxName.OnSelected += MethodToCall;
void MethodToCall(Object sender, EventArgs e){}

要么

comboboxName.OnSelected += () => delegate{/*put some code here*/};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM