簡體   English   中英

為什么comboBox1_SelectedIndexChanged的eventhandler永遠不會在C#中執行

[英]why the eventhandler for a comboBox1_SelectedIndexChanged never gets executed in C#

我不知道如何為SO記錄這個問題。 我在WinForm和C#編程。 在窗口中添加了一個comboBox並為其編寫了事件處理程序。 此窗口中的所有其他控件都會生成其點擊事件,但不會生成combox? 應該沒有任何東西,但無論多少次點擊下拉箭頭或組合框本身,事件處理程序都不會被執行。

private void InitializeComponent()
    {

        // 
        // comboBox1
        // 
            this.comboBox1.AllowDrop = true;
            this.comboBox1.FormattingEnabled = true;
            resources.ApplyResources(this.comboBox1, "comboBox1");
            this.comboBox1.Name = "comboBox1";
            this.comboBox1.SelectedIndexChanged += new System.EventHan(this.comboBox1_SelectedIndexChanged);
        // 
    }

在此先感謝您的幫助。

通過你的描述,聽起來你只是點擊下拉菜單,期望它觸發事件。 您是否真的在菜單中選擇了其他選項,或者只需單擊箭頭? SelectedIndexChanged僅在您更改菜單中的選定選項時觸發。 此外,在您的代碼中,您有:

this.comboBox1.SelectedIndexChanged += new System.EventHan(this.comboBox1_SelectedIndexChanged);

它實際上是什么? 那不應該編譯。 應該:

this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.comboBox1_SelectedIndexChanged);

編輯:

好的,我想我知道發生了什么。 雙擊設計器中的控件以連接事件的位置? 如果是這樣,那將連接該控件的默認事件。 因此,對於按鈕,默認為Click事件。 對於組合框,默認值為SelectedIndexChanged事件, 而不是 “Click”事件。 要連接ComboBox上的Click事件,請在設計器中打開表單。 然后在設計器中選擇ComboBox,然后按CTRL + W,P。這將打開控件的“屬性”窗口。 單擊該窗口頂部的閃電圖標,它將顯示您可以在控件上使用的所有事件。 在列表中找到“Click”並雙擊它,它將連接事件並將您帶到該事件的新處理程序。

this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.comboBox1_SelectedIndexChanged);

要不就

this.comboBox1.SelectedIndexChanged += this.comboBox1_SelectedIndexChanged;

暫無
暫無

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

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