C# 如何在ComboBox輸入文字改變時,觸發事件?

1、瞭解C#中的預約義事件處理機制框架

    在寫代碼前咱們先來熟悉.net框架中和事件有關的類和委託,瞭解C#中預約義事件的處理。spa

    EventArgs是包含事件數據的類的基類,用於傳遞事件的細節。.net

    EventHandler是一個委託聲明以下code

         public delegate void EventHandler( object sender , EventArgs e )對象

注意這裏的參數,前者是一個對象(其實這裏傳遞的是對象的引用,若是是button1的click事件則sender就是button1),後面是包含事件數據的類的基類。blog

方案:

咱們建立一個cmbChanged方法,傳遞sender。而後在combobox觸發不一樣事件的時候均可以引用這個方法。事件

以下代碼,無論哪一個事件觸發,咱們將combobox選擇展現的內容都賦給一個參數:cmbMarkNumText 。get

 1   private void cmbMarkNum_SelectedIndexChanged(object sender, EventArgs e)//選擇下拉選項時  2  {  3             cmbMarkNumText = cmbChanged(sender);  4  }  5         private void cmbMarkNum_TextUpdate(object sender, EventArgs e)//combobox輸入文字改變時  6  {  7             cmbMarkNumText = cmbChanged(sender);  8  }  9         private string cmbChanged(object sender) 10  { 11             string rtxt; 12             ComboBox cmb = (ComboBox)sender;//強制吧sender轉換爲ComboBox類型賦值給cmb.  13             return rtxt = cmb.Text; 14         }

 

C# 怎麼實現ComboBox「只能選擇,不能修改」的功能

DropDownStyle 屬性設置爲 DropDownList.
#Simple 簡單的下拉列表框(始終顯示列表)。
#DropDown 能夠編輯,與有下拉列表。默認。
#DropDownList 只有下拉列表,不能編輯。

其餘閱讀:C#事件中sender的小用法string

淺析C#的事件處理和自定義事件[object sender , EventArgs e]class

Combobox賦值拓展: Combobox設置 DataSource 後,其 Text 會自動變爲源中首項,而再也不是原值。

相關文章
相關標籤/搜索