Winform 控件使用集锦

本文探讨DataGridView中Checkbox的值读取问题,包括如何在CellClick事件中正确获取Checkbox状态,以及如何通过EditingCellFormattedValue获取格式化后的值。此外,文章还介绍了如何设置DataGridView的列样式,如标题颜色和样式,并解释了列DisplayIndex与实际顺序的关系。最后,文章提供了关于在Form界面中处理Shown事件和资源文件管理的实用技巧。
  1. DataGridView中checkbox的值读取问题.checkbox选中之后,在CellClick事件中通过Value是读取不到值的,在当前单元格变为另一个单元格之前,它的值不会写到DataGridView的数据源中去,只能取其所要表示的值,在DataGridViewCheckBoxCell中,可以使用EditingCellFormattedValue来得到当前的单元格要表示的被格式化的值.因为CellClick的发生在值改变之前,所以只能得到单元格在由鼠标改变之前的值.
  2. DatagridView CurrentRow是只读的,CurrentCell是可读可写的.可设置CurrentCell来设置当前选中行.设置某一行被选中是不会改变当前行的.
  3. System.Windows.Forms.DataGridViewCellStyle s = new System.Windows.Forms.DataGridViewCellStyle();
    s.ForeColor = Color.Red;
    this.gridAllStorey.Columns["Index"].HeaderCell.Style = s;设置DataGridView的某一列的标题的颜色和样式.但是需要设置EnableheadersVisualStyles=false.

  4. DatagridView的列DisplayIndex和列的实际顺序也就是编辑列中的顺序是不一样的.前者不影响后者.在界面上修改显示顺序不影响代码中获取某一列的值.
  5. Form界面在第一次显示时会触发Shown事件,实在Load之后的,而且只会触发一次,可以添加要显示之后进行的处理.
  6. 资源文件 详细信息科参考:
    1. 添加资源文件(可以使图片,文件等)到项目中,设置为内嵌,那么会在生成的DLL中的Resource下出现,别的程序可以获取.成为了清单资源.和Resx文件一样并列了.
    2. 给控件添加图标时,选择本地文件,那么会在控件所在的Form生成资源文件,资源文件指向电脑中的文件,文件没有包含在项目中,但是被项目引用,在开启VS的时候,是删不掉文件的.这个文件是属于Form的,会在Form的Resource中.使用的时候是根据名称查找
    3. 给控件添加图标时,选择项目资源文件,可以选择已有的,或者选择导入,这时候导入的图片,会被加入到项目的资源文件中,属于整个项目,要强调的是,图片本身会被加入到项目中,项目中的所有控件都可以引用这个文件,而且是强命名的方式引用.Resource...
    4. 获取DLL中的资源图片,ResourceManager可能会抛出异常,ResourceReader可以使用.
    5. 读取dll中图片资源的核心代码(不完善):
                      if (file.Name.EndsWith(".exe") || file.Name.EndsWith(".dll")) {
                          var assembly = Assembly.LoadFile(file.FullName);
                          var list = assembly.GetManifestResourceNames();
                          foreach (var item in list) {
                              using (var stream = assembly.GetManifestResourceStream(item)) {
                                  if (item.EndsWith(".resources")) {
                                      using (var reader = new ResourceReader(stream)) {
                                          var enumer = reader.GetEnumerator();
                                          while (enumer.MoveNext()) {
                                              listBox1.Items.Add(enumer.Key + ":" + enumer.Value.ToString());
                                          }
                                      }
                                  }
                              }
                          }
                      }
      View Code

       

转载于:https://www.cnblogs.com/zhangliming/p/3120459.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值