双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

如何设计自定义控件?

文盲老顾 文盲老顾 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
今天在制作WinForm界面的时候,突然想自己做一个用户控件,但是,在制作过程中碰到很多问题,希望大家能指点一下迷经。


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、在添加成员后,取消,然后图标区的对象都正常消失了,但再次点开,发现成员列表里有残留记录

求各位仔细指点,谢谢
...全文

相关推荐

评论 6
收藏 已收藏
分享
返回顶部
文盲老顾
文盲老顾 新星创作者: 信息安全技术领域 新星创作者: 信息安全技术领域领域专家: 数据库技术领域 领域专家: 数据库技术领域
C# 111,129 成员 642,540 内容