zoukankan      html  css  js  c++  java
  • SelectedIndexChanged事件, SelectedValueChanged事件和SelectionChangeCommitted事件的区别及应用——c#

    SelectedIndexChanged事件, SelectedValueChanged事件和SelectionChangeCommitted事件的区别及应用

     

    l         SelectionChangeCommitted事件

    在设定datasource和displaymember和valuemember时,以及手动改变combobox索引和值时都不触发该事件, 只是在界面选择combobox不同值时触发

    2       SelectedIndexChanged事件  索引改变时触发

    3         SelectedValueChanged事件   值改变时触发

    设置DataSource, DisplayMember, ValueMember不同顺序触发SelectedIndexChanged事件和SelectedValueChanged事件的次数

    顺序一:

    this.comboBox1.DisplayMember = "userName";  (不触发)

    this.comboBox1.ValueMember = "userAge";    (只触发SelectedValueChanged)

    this.comboBox1.DataSource = dt; (都触发)

    SelectedValueChanged触发两次(总是先触发)SelectedIndexChanged,触发一次 (设置DisplayMember属性时不触发两种事件)

    顺序二:

    this.comboBox1.ValueMember = "userAge";

    this.comboBox1.DisplayMember = "userName";

    this.comboBox1.DataSource = dt;

    同上

    顺序三:

    this.comboBox1.DataSource = dt; (都触发)

    this.comboBox1.DisplayMember = "userName";(都触发)

    this.comboBox1.ValueMember = "userAge";(只触发SelectedValueChanged事件)

    SelectedValueChanged触发三次(总是先触发)SelectedIndexChanged,触发两次 (设置DisplayMember属性时不触发两种事件)

    顺序四:

    this.comboBox1.DataSource = dt; (都触发)

    this.comboBox1.ValueMember = "userAge";(都触发) 其中SelectedValueChanged触发两次

    this.comboBox1.DisplayMember = "userName";(都触发)

    SelectedValueChanged触发四次(总是先触发)SelectedIndexChanged,触发三次 (设置DisplayMember属性时不触发两种事件)

    原文:这里

  • 相关阅读:
    .NET的SqlHelper应用代码
    .NET获取客户端的操作系统、IP地址、浏览器版本
    Codevs 3981 动态最大子段和
    洛谷 P3373 【模板】线段树 2
    一些笔记【杂】
    洛谷 P1432 倒水问题
    洛谷 P2324 [SCOI2005]骑士精神
    Codevs 1010 过河卒
    POJ 3278 Catch That Cow
    洛谷P2184 贪婪大陆
  • 原文地址:https://www.cnblogs.com/eve612/p/14145976.html
Copyright © 2011-2022 走看看