本帖最后由 kuangtuxue 于 2013-11-03 13:53:27 编辑

解决方案 »

  1.   

    listvlew.BeginUpdate();
    listvlew.EndUpdate();
    合适的地方加上去试试
      

  2.   

    假如不是快速的连续点击,这方法有用。
    可为啥子窗体的show会导致listbox的闪烁呢?而且假如是用代码改变SelectedIndex就不会闪烁,太奇怪了。
      

  3.   

    假如不是快速的连续点击,这方法有用。
    可为啥子窗体的show会导致listbox的闪烁呢?而且假如是用代码改变SelectedIndex就不会闪烁,太奇怪了。其实两个窗口控件是同一块内存的引用!
      

  4.   

    假如不是快速的连续点击,这方法有用。
    可为啥子窗体的show会导致listbox的闪烁呢?而且假如是用代码改变SelectedIndex就不会闪烁,太奇怪了。其实两个窗口控件是同一块内存的引用!
    …………那我用代码改变SelectedIndex为啥就不会闪烁?
      

  5.   

    第1点.ListBox,是复杂的控件,内部有许多类似与子控件的小模块其实效率并不是非常高!问题根原
    listvlew.BeginUpdate();
    listvlew.EndUpdate();可以改善控件绘制的效率。
    第2点.,show是继承至Control控件的一个方法,Form.show()会刷新整个Form,改用ListBox创建的对象调用show()试试。
    第3点,查看API可以看出public override int SelectedIndex { get; set; }非常简单,效率是十分高的。
    操作的ListBox的还且是子控件。