自定义控件:属性隐藏等

这篇博客详细介绍了自定义控件的创建和属性隐藏的三种方式,包括通过自定义设计器过滤属性、使用override和new关键字,以及利用hashtable处理。文章还提及了添加控件到面板的步骤,以及如何隐藏特定属性如Locked。此外,博主分享了资源链接和在项目中遇到的问题,如控件透明、事件添加和控件层次调整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值