zoukankan      html  css  js  c++  java
  • [VS2005]Bug or Design?

    在VS2005以前的版本,如果我们调用下面的逻辑

    // Form中包含一个ComboBox Control。
    public void Form_Load(object sender, EventArgs e)
    {
      
    this.comboBox1.DropDownStyle = DropDownStyle.DropDown; // 注意不是DropDownList.
      this.comboBox1.Items.Add("Test1");
      
    this.comboBox1.Items.Add("Test2");
      
    this.comboBox1.Items.Add("Test3");
      this.comboBox1.Items.Add("Test4");
      
    this.comboBox1.SelectedIndex = 0;
    }


    public void button1_Click(object sender, EventArgs e)
    {
      
    this.comboBox1.Text = "Test"//该项不存在于Items中
      Debug.WriteLine(this.comboBox1.SelectedIndex.ToString());
    }

    返回的结果是-1.因为没有任何一项被选中。

    但是,如果我们在VS2005中运行上面的代码,结果却是0

    这是VS2005的Bug还是它的Design。

    Bug:
        与以前的版本不兼容;
        数据会丢失;(我没有具体试验,在某些情况下,似乎设进取的Text会丢掉)

    Design:
        将SelectedIndex和当前显示的Text分开。(似乎有些牵强,但好像也有些合理性)

    博客园里微软的人很多,有没有能够出面澄清一下。大家也许也会有一些自己的看法。
  • 相关阅读:
    linux常用网络命令
    linux常用命令
    内核驱动——符号表的导出
    内核模块传参
    *** No rule to make target 'param'. Stop. 的问题
    mmap操作荔枝派gpio v3s Linux
    交叉编译 -sh: ./xxx: not found 的问题
    linux驱动 第一个驱动
    ubuntu 16.04 开机脚本
    V3s录音 交叉编译alsa linux
  • 原文地址:https://www.cnblogs.com/Cajon/p/293716.html
Copyright © 2011-2022 走看看