• DotNetBar for Windows Forms的一些经验


    1. 千万不要使用DataGridViewX中的DataGridViewCheckBoxXColumn,而是用DataGridViewCheckBoxColumn

    也许会有人觉得既然DataGridViewX提供了DataGridViewCheckBoxXColumn,为什么还要用系统的DataGridViewCheckBoxColumn,难道系统内建的功能会更强大吗?

    请相信我,系统内建的DataGridViewCheckBoxColumn的功能也许并不强大,但是绝对稳定,理由有二:

    a. 使用DataGridViewCheckBoxXColumn,在想选中复选框时几乎无法做到一选必中,必须鼠标移动到某个特定的位置,复选框变色之后点击才能成功,即使我知道这个诀窍,

    也无法保证每次都能选中,这对用户来说是一个非常糟糕的体验。

    b. 这个理由绝对比上一个理由更加重要,也是困扰了我好几个月的一个问题。话说DataGridViewX要和Form同步变化尺寸,这个需求再正常不过了,但是我有两个窗体,在一段时间修改之后发现DataGridViewX的Anchor属性不起作用了!具体的说并不是完全不起作用,而是在窗体首次出现并最大化(form.WindowState = FormWindowState.Maximized;)时不起作用,窗体正常出现之后再调整窗体大小则可以同步变化大小了,经过很长时间的不明所以,终于下定决心把窗体代码完全简化之后去寻找问题根源,再经过一行行代码的抽丝剥茧之后,好吧,不用我说了,问题的根源就在于DataGridViewCheckBoxXColumn,我使用了它来显示某些是非值的数据,甚至我都不需要删除表格中使用的DataGridViewCheckBoxXColumn,只要隐藏了它,Anchor属性就完全生效了。

    综上,至少目前我的项目里必须使用DataGridViewCheckBoxColumn,至于DataGridViewCheckBoxXColumn,等到确实有需要它的时候再说吧。

    至于原因嘛,个人猜测是DataGridViewCheckBoxXColumn的绑定数据的代码有Bug,呵呵。
     

  • 相关阅读:
    如何管理和优化日益增长的代码复杂度?
    groupcache-readme-go
    shell脚本的桩
    软件的模块化开发
    ldd命令--查看命令依赖的库文件
    链接
    LDD命令--可执行文件依赖的库出现错误时
    开源日志系统 log4c 使用心得+总结
    SDOI2018R1划水记
    BZOJ1009:[HNOI2008]GT考试(AC自动机,矩乘DP)
  • 原文地址:https://www.cnblogs.com/s5689412/p/2661100.html
Copyright © 2020-2023  润新知