• winform碎片


    1.通过同一个pictureBox控件加载不同的图片,在加载前需要释放控件里之前的Image。

    pictureBox1.Image.Dispose();//Dispose之后对象就不存在了,只能重新Create.

    2.DataTable添加一个checkbox新列作为第一列,DataTable绑定到datagridView。

    //add a new column for checkbox
    DataColumn dc = new DataColumn("IsSelected", System.Type.GetType("System.Boolean"));
    dc.DefaultValue = false;
    dt.Columns.Add(dc);
    dt.Columns["IsSelected"].SetOrdinal(0);
    
    //设置只有checkbox可编辑
    
    dataGridView1.DataSource = dt;
    for (int i = 1; i < dt.Columns.Count; i++)
    {
    dataGridView1.Columns[i].ReadOnly = true;
    }
    
    //默认不选中第一行
    
    /*默认不选中第一行第一列的动作要放在窗体的Load事件里或者button等其他事件里,若DataGridView作为自定义控件出现,则应该在父容器的Load事件里写以下语句或者在父容器load之后再执行下列动作。*/
    
    DataGridView.Rows[0].Selected=false;
    dataGridView1.Refresh();
    
    //给添加的DataGridViewComboBoxColumn默认选中某项
    
    ((DataGridViewComboBoxColumn)dataGridView1.Columns["columnName"]).DefaultCellStyle.NullValue = 
    "value";
    
    //绑定数据源的datagridview插入新行
    
     DataRow dr = ((DataTable)dataGridView1.DataSource).NewRow();
    
     ((DataTable)dataGridView1.DataSource).Rows.InsertAt(dr,e.RowIndex+1);
    
    //datagridviewcolumncell可换行显示
    
    dataGridView1.Columns[i].DefaultCellStyle.WrapMode = DataGridViewTriState.True;

    3.ComboBox输入时提示,suggest为模糊查询,append为自动填充,可在控件的property处设定。

    comboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;  
    
    comboBox1.AutoCompleteSource = AutoCompleteSource.ListItems; 

    4.WinForm窗体默认情况下AutoScaleMode为Font,但为了解决两台不同分辨率的机子显示效果相同,保证控件大小一致,可将此属性设成None,禁用缩放。

    MSDN关于此项属性的枚举类型的说明如下:
    None:禁用缩放。
    Font:根据类使用的字体(通常为系统字体)的维度控制缩放。
    Dpi:根据显示分辨率控制缩放。常用分辨率为 96120 DPI。
    Inherit:根据类的父类的缩放模式控制缩放。如果不存在父类,则禁用自动缩放。

    5.DataGridView绑定数据量太大时重绘很慢,可将 AutoSizeColumnsMode和AutoSizeRowsMode设成None,改变行高的设置(RowTemplate->Height).

    6. 有关combobox

    (1)List绑定到combobox的高效方法:

     cmb.Items.AddRange(list.ToArray());

    (2)combobox的Items放到一个List中:

    List<string> list = cmb.Items.Cast<object>().Select
    (item => item.ToString()).ToList();

  • 相关阅读:
    内存溢出和内存泄露的概念,句柄泄露呢?句柄泄露造成的原因,待更新
    翻页查询的sql语句优化
    微服务下ELK统一日志系统搭建
    vscode添加自己的python虚拟环境
    【经验】如何成为培训师
    go并行编程1goroutine 孙龙
    简单说说物联网 孙龙
    golang恐慌和恢复panic/recover 孙龙
    golang监听rabbitmq消息队列任务断线自动重连接 孙龙
    rsync+inotifytools与rsync+sersync架构的区别 孙龙
  • 原文地址:https://www.cnblogs.com/nora/p/4956402.html
Copyright © 2020-2023  润新知