如何设计自定义控件?
今天在制作WinForm界面的时候,突然想自己做一个用户控件,但是,在制作过程中碰到很多问题,希望大家能指点一下迷经。
在录入以上代码后,设计界面就多出一个 testUserControl 的组件,可以将其拖到设计界面上,同时 Items 属性可以象 DataGridView 的 Columns 属性一样点开,进行属性追加
现在,问题来了。。。。
1、我在点开 Items 属性后,进行添加成员时,第一个成员永远没有设计类属性(比如 Name),然后,再次添加的时候,不管添加多少成员,永远都只有最后一个成员有设计类属性。
2、每次添加成员,他自动将成员列在设计界面下的图标区(比如 FolderBrowserDialog 出现的地方),而不能象 TagPage 一样。
3、在添加成员后,取消,然后图标区的对象都正常消失了,但再次点开,发现成员列表里有残留记录
求各位仔细指点,谢谢
namespace testUserControl
{
public class testClass1 : FlowLayoutPanel
{
public testClass1(){
InitializeComponent();
}
public class testCollection : List<testPanel>
{
}
public class testCollectionEditor
{
}
public class testDesigner
{
}
[Designer("testDesigner, System.Design")]
public class testPanel : Panel
{
public testPanel()
{
}
}
private testCollection _items = new testCollection();
[Description("test UI"), Editor("testCollectionEditor", typeof(UITypeEditor))]
public testCollection Items
{
get
{
return _items;
}
set
{
_items = value;
}
}
}
}
在录入以上代码后,设计界面就多出一个 testUserControl 的组件,可以将其拖到设计界面上,同时 Items 属性可以象 DataGridView 的 Columns 属性一样点开,进行属性追加
现在,问题来了。。。。
1、我在点开 Items 属性后,进行添加成员时,第一个成员永远没有设计类属性(比如 Name),然后,再次添加的时候,不管添加多少成员,永远都只有最后一个成员有设计类属性。
2、每次添加成员,他自动将成员列在设计界面下的图标区(比如 FolderBrowserDialog 出现的地方),而不能象 TagPage 一样。
3、在添加成员后,取消,然后图标区的对象都正常消失了,但再次点开,发现成员列表里有残留记录
求各位仔细指点,谢谢
...全文
相关推荐
自定义控件添加事件
Winfrom中自定义控件-- 添加事件示例,自定义控件 为两个普通按钮组成,其他窗体添加自定义控件后,分别触发自定义控件中的事件...
Qt/C++编写自定义控件属性设计器
以前做.NET开发中,.NET直接就集成了属性设计器,VS不愧是宇宙第一IDE,你能够想到的都给你封装好了,用起来不要太爽!因为项目需要自从全面转Qt开发已经6年有余,在工业控制领域,有一些应用场景需要自定义绘制一些控件满足特定的需求,比如仪器仪表、组态等,而且需要直接用户通过属性设计的形式生成导出控件及界面数据,下次导入使用,要想从内置控件或者自定义控件拿到对应的属性方法等,首先联想到的就是反射...
C# 自定义控件 实现可伸缩的Panel控件
在C#中,实现可以自由扩展缩进的Panel自定义控件,并支持多个Panel自定义控件间的联动伸缩。
C#制作用户自定义控件 可自选按钮素材、图标、事件、方法 非常好
C#制作用户自定义控件 可自选按钮素材、图标、事件、方法 非常好
自定义绘制的TreeList控件
定制的树状列表混合体,其中包含有关控件开发方式的说明。



