zoukankan      html  css  js  c++  java
  • Winform ComboBox 绑定数据源 触发SelectedIndexChanged事件 处理办法

    最近寫Winform程式,發現Winform中的ComboBox和Web中的Dropdown相差很大,在ComboBox 绑定数据源 會触发SelectedIndexChanged事件,很困擾,查找了資料,處理方法大體分為三種

    1.添加一个标记位,在绑定前设置为false,绑定完成后设置回true(個人覺得用起來的很奇怪)

    void BindComboBox()
    {
    flag=false;
    ComboxBox1.ValueMember="ValueColumn";
    ComboxBox1.DisplayMember="DisplayColumn";
    ComboxBox1.DataSource=DataTable1;
    flag=true;
    }
    
    privatevoid ComboxBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
    if(flag)
    {
    //Do something
    }
    }

    2.绑定前,将SelectedIndexChanged的委托去掉,等绑定完成后,再添加事件委托(覺得比較複雜)

    void BindComboBox()
    { //去除委托
    ComboBox1.SelectedIndexChanged -= new EventHandler(ComboBox1_SelectedIndexChanged);
    ComboBox1.DataSource = null;
    ComboBox1.ValueMember = "ValueColumn";
    ComboBox1.DataSource = DataTable1;
    //添加委托
    ComboBox1.SelectedIndexChanged += new EventHandler(ComboBox1_SelectedIndexChanged);
    ComboBox1.DisplayMember = "DisplayColumn";
    }

    3.判斷是否是選擇狀態(最後本人用的)

    privatevoid ComboxBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
    if(ComboxBox1.ContainsFocus)
    {
    //Do something
    }
    }

     4.绑定数据后再添加SelectedIndexChanged事件

  • 相关阅读:
    SQLite基础-7.子句(一)
    SQLite基础-8.子句(二)
    SQLite基础-6.运算符
    SQLite基础-5.数据操作语言
    SQLite基础-4.数据定义语言(DDL)
    SQLite基础-3.语法与数据类型
    IDEA操作之FileHeager设置
    IDEA操作之test case coverage的方法
    IDEA插件之JavaDoc
    IDEA插件之JProfiler
  • 原文地址:https://www.cnblogs.com/superfeeling/p/12392959.html
Copyright © 2011-2022 走看看