自定义控件:属性隐藏等

时间:2022-05-13 20:37:40

属性隐藏大概分为三种情况:

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

 自定义控件:属性隐藏等
   注意,icon图标的一些属性要修改,如下图,圆框中的属性就要修改为embeded resource。
自定义控件:属性隐藏等

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

http://211.103.139.223/winm/content_files/NET%BE%AB%BC%F2%BF%F2%BC%DC%B3%CC%D0%F2%C9%E8%BC%C6%A3%BAC_%B0%E6.pdf

2011年5月12日

串口编程:

1)       C#串口操作:http://blog.csdn.net/wuyazhe/archive/2010/05/17/5598945.aspx