Winform BindingList使用注意事项
程序员文章站
2022-06-07 13:17:40
...
Winform 使用BindingList
经过探索,winform中控件继承ListControl,如Listbox、Combox、datagridview等如需使用绑定数据源的形式,
var Lbx=new ListBox();//ListControl派生控件
var list=new BindingList<T>();//T为实际数据类型
Lbx.DataSource = list;
Lbx.DisplayMember = "PropertyName";//需要显示的属性名称
然后在需要操作list的时候直接操作即可 add,remove等,以下为需要注意的地方:
- 如果控件为listbox,T为基础类型如int,此时操作list增删操作不刷新控件,临时解决方案是将基础类型再封装一层自定义类型,以便设置DisplayMember,其他Combox等不受影响;
- 在遇到线程中操作list的时候,一定要正确操作,即此时从线程中改变绑定源,如需更新界面,需要使用Lbx的Invoke()或者BeginInvoke()方法进一步封装,此原理类似于WPF更新机制;
private void OnReceivedMsg(T msg)//线程回调方法
{
Lbx.Invoke(()=>list.Add(msg));//直接使用list.Add(msg),控件不会刷新,此时也不会报错
}
上一篇: 在sqlserver中使用事务的注意事项
下一篇: 【Java基础】JDK1.8新特性
推荐阅读
-
Java8中Stream使用的一个注意事项
-
Java中BigDecimal的加减乘除、比较大小与使用注意事项
-
java volatile关键字使用方法及注意事项
-
Java构造器使用方法及注意事项
-
Android 中ViewPager中使用WebView的注意事项
-
c# winform treelistview的使用(treegridview)实例详解
-
C#中使用IrisSkin2.dll美化WinForm程序界面的方法
-
在linux或unix服务器上安装、使用MySQL的注意事项
-
Dispatch Source Timer的使用及注意事项介绍
-
使用C# Winform应用程序获取网页源文件的解决方法