属性隐藏大概分为三种情况:
1. 有一些由设计器添加的属性,如locked,必须自定义设计器才能过滤掉
2. 用override,针对能重写的属性,将其可见性设为false即可
3. 用new,针对不能重写的属性,将其可见性设为false即可
4. 或者可以定义hashtable变量来装待隐藏属性,利用自定义函数来处理
相关资料
1) C#自定义控件从入门到精通http://wenku.baidu.com/view/3f001cec102de2bd96058830.html
2) http://topic.csdn.net/u/20090328/13/f2da0338-3189-4f96-b631-43cea707ee1e.html
自定义控件
相关资料
1) C#自定义控件:http://archive.cnblogs.com/a/1986737/
2) 图文版:http://wenku.baidu.com/view/a74c06b81a37f111f1855b24.html
2011年4月24日
1. 添加控件到面板
以DesignerHosting(JXF)为例:
1) 在solution ‘Shell’中添加Project,例如Button
2) 在Project中添加User Control,键入相应的名称
3) 设计好按钮之后,将其添入面板
4) 在ToolBox里面添加Button的引用
5) ToolboxXmlManager.cs添加相应代码将其加入面板当中
private Type[]imageToolTypes = new Type[]{
// typeof(Gauge.mygauge),
typeof(Label.MyLabel),
typeof(Button.Mybtn),//该语句添加了Button当中的Mybtn按钮
}
6) 在Shell中添加Button的引用
以smartControl为例
1) 在VIGuageLibrary里面添加usercontrol
2) 因为要继承commonLibrary里面的IguageControl,故要在该project中加入相应的引用
3) 在VIDesigner的ToolboxXmlManager.cs修改代码,将控件加入到面板
2011年4月25日
1. Locked属性的隐藏
Locked属性是设计器带来的属性,要在project中添加System.Design的引用才能去除
由以下代码可以实现
#region 去除设计器带来的locked属性
public class CustomDigitalDesigner: System.Windows.Forms.Design.ControlDesigner
{
protectedoverride voidPostFilterProperties(System.Collections.IDictionaryproperties)
{
properties.Remove("Locked");
base.PostFilterProperties(properties);
}
}
[Designer(typeof(CustomDigitalDesigner))]
#endregion
2011年4月27日
接下来的任务:
1. 添加All Windows Form\GroupBox Label
2. 添加DX.10.2:Data\GaugeControl\CircularFull-CircularHalf-CircularQuarter-CircularThreeFourth-LinearHorizontal-LinearVertical-CircularWide
3. 更改控件的图标
http://blog.sina.com.cn/s/blog_6fd674050100ptyw.html
记得加上相关引用using System.Drawing
2011年4月28日
关键字:
Ø 自定义控件 添加事件
1. 为自定义控件添加事件
给自定义控件添加事件的集中方法
http://www.cnblogs.com/jyk/archive/2008/07/03/1235029.html
2. 评价写得很详细
http://blog.csdn.net/zhzuo/archive/2004/11/30/199599.aspx
和论坛里解决方案不同的是:
差异
大部分的解决方案都是将自定义的空间用在工程创建的form里面,而我们的需求是将其用在我们程序运行结果的面板上。
2011年4月29日
控件库中需要添加的一些控件
Button、CheckBox、RadioButton、TextBox、CheckedListBox、hScrollBar、Label、伏特表(Volt)、温度计(Temperature)
表盘元素分析:
StateIndicatorCarlcons\
问题:
目前已有控件24个
1)控件的text属性不能解除隐藏
2)表盘如何显示float √已解决
2011年5月4日
Ø 如何实现控件透明
这里和网上描述的是不一样的。一般情况下,在设计form的时候,可以直接知道控件之间的层叠关系,就可以设置诸如parent属性等。而项目的需求是做一批控件,而这个控件的应用并不知道在哪里?有些东西就无法设置。
参考网页:http://www.cnblogs.com/chengxiaohui/articles/1921608.html
2011年5月5日
Ø 委托赋值
http://binyun530.blog.163.com/blog/static/14877674200821111263370/
线程间通信的必要操作
Ø 为控件添加事件
http://wenku.baidu.com/view/3f001cec102de2bd96058830.html
http://wenku.baidu.com/view/133cd942a8956bec0975e3c3.html
还有一个重要的问题:控件的层次问题,如何调整控件的上下层关系。
关键字:控件叠放次序
参考文档:http://zhl198118.blog.163.com/blog/static/12318524120098293220416/
http://topic.csdn.net/u/20110307/11/4da9200d-0ecd-4fb2-bd26-e21a38a617d3.html
2011年5月12日
串口编程:
1) C#串口操作:http://blog.csdn.net/wuyazhe/archive/2010/05/17/5598945.aspx