- 属性讲的比较好的一篇
[C#详解] (1) 自动属性、初始化器、扩展方法 - Slark.NET - 博客园 (cnblogs.com)
- 一个比较好的封装并行初始化类,backgroundWork类。 dowork委托,后面的都是并行异步执行的。与进度条合并开展效果更佳。
BackgroundWorker bg = new BackgroundWorker();
bg.RunWorkerAsync();
bg.DoWork+="待执行函数";
bg.RunWorkerCompleted+="dowork执行结束后执行的函数";
bg.ReportProgress(percentprogress);
- EventHandler (Object sender,Eventargs e)解释:
(49条消息) C# 函数参数object sender, EventArgs e_滴水石穿-优快云博客_c# object sender
- 类属性定义为类本身,创建一个instance,这样可以保证整个程序中只创建一个实例,且其他地方调用不会发生混乱,无需处理数值传递的问题。
- lock,syncobj用Object类锁定,执行期间只锁定代码段,不锁定整个实例。用this lock的话,锁定整个实例。这里用一个lock,防止两个不同线程同时调用实例化函数,创建不同的实例,导致实例混乱。
C# 理解lock - 闯.漠北 - 博客园 (cnblogs.com)
public static FrmSplitBoardMain Instance
{
get
{
lock (_syncObj)
{
if (_instance == null)
{ _instance = new FrmSplitBoardMain(); }
}
return _instance;
}
set { _instance = value; }
}
- 用UI.FrmSplitBoardMain.Instance 可以实例化类,并永远指向一个类。
- Invoke 和BeginInvoke
- C#中Invoke 和 BeginInvoke 的区别 - asdyzh - 博客园 (cnblogs.com)
- propertyChanged类,属性变化驱动事件
(50条消息) 使用System.ComponentModel.INotifyPropertyChanged实现Property Changed时的自动通知_popeer的博客-优快云博客 - 线程池和backgroundasync
C#线程池用法 - Jara - 博客园 (cnblogs.com) - 钩子函数?hook是什么
- Combox绑定Enum等
C# 枚举绑定到ComboBox_12129363的技术博客_51CTO博客
- DevExpress VGridControl应用
这种效果的配置列表如何生成的
用一个Reflection.PropertyInfo类,获取定义类的所有属性,GetType.getProperty(Instance|Public);
将属性名称和属性类型作为一个datatable的Columns;
dt.Columns.Add(pis[j].Name, pis[j].PropertyType);//pis是一个Propertyinfo数组。
再讲属性值作为datable的row即可。
会自动将enum转换为combobox,将bool转为checkbox;
- c# 带返回值的委托