社区
.NET Framework
帖子详情
自定义控件的问题~帮顶有分!
xiyun
2006-06-04 11:56:35
我从一个控件派生了一个自定义控件,在构造函数里添加了一些代码:比如说我继承的是ComboBox,我在派生的类的构造函数里对ComboBox添加了2项选项,然后我将这个自定义控件放到Form上后,在form的构造函数里又自动的添加了这2个选项,并且,我只要在设计器里每对这个控件作出改动,就会自动的又添加2个选项。。。
我想知道如何能使我在构造函数里添加的选项不会在Form里又再次被添加
...全文
369
26
打赏
收藏
自定义控件的问题~帮顶有分!
我从一个控件派生了一个自定义控件,在构造函数里添加了一些代码:比如说我继承的是ComboBox,我在派生的类的构造函数里对ComboBox添加了2项选项,然后我将这个自定义控件放到Form上后,在form的构造函数里又自动的添加了这2个选项,并且,我只要在设计器里每对这个控件作出改动,就会自动的又添加2个选项。。。 我想知道如何能使我在构造函数里添加的选项不会在Form里又再次被添加
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
26 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xiyun
2006-06-17
打赏
举报
回复
问题算是解决了
用ShouldSerrilizeItems这个属性解决的,不过有个后遗症。。。不能通过设计器修改那个被重载的属性了
结贴了
mhxcy
2006-06-14
打赏
举报
回复
顶
allismine
2006-06-13
打赏
举报
回复
感觉是因为每次刷新造成的,考虑不让这个地方刷新或者在Page_load中,对这段代码放在Page.IsPostedBack等于false中,那样只有在初始化该页面时才加载自定义控件,而在刷新或者IE返回等不加载该控件。
tdtdtdtdtd123
2006-06-11
打赏
举报
回复
帮顶
lalac
2006-06-10
打赏
举报
回复
其实原因是这样的,微软的Designer在构造ComboBox时会判断当前的Items是否为默认值,通常可以使用DefaultValue或者ShouldSerrilizeItems来得到这个状态。另外,在ComboBox的ObjectCollection里面还有一些其他操作,也会影响IDE生成代码。
回到楼主的问题,当楼主在构造函数里添加了几项到Items里之后,默认情况下,IDE会自己在生成Code时把现有Items里的项再加一遍,而构造函数还是会被执行,这样Items里就出现了两遍所添加的项了。
处理办法有:
1、修改Items的DefaultValue或者重写ShouldSerrilizeItems方法,让他们在有你添加的项时返回Flase。
2、如果上面的还不能达到结果,建议重写Items属性和ObjectCollection类,这样就可以完全自己控制代码生成了。
Ivony
2006-06-09
打赏
举报
回复
与ASP有什么关系?
在构造函数里面,对象还没构造好,谁能给一个属性赋值,所以DesignMode属性只能在OnInit等方法内使用。
ToolboxDataAttribute可以控制你的控件拖到设计器上自动生成的代码。
amandag
2006-06-09
打赏
举报
回复
不懂,帮顶
xiyun
2006-06-09
打赏
举报
回复
lvony。。我的不是asp的
skyline81
2006-06-09
打赏
举报
回复
帮顶
tdtdtdtdtd123
2006-06-07
打赏
举报
回复
up budong
Ivony
2006-06-06
打赏
举报
回复
不清楚为什么会有这样的需求,其实把这个操作放到一个方法中去就肯定不会出问题了。1.1里面也通过判断HttpContext.Current是否为空,2.0里面判断DesignMode属性都能知道是不是在设计期,在设计期跳过这些代码也是一个办法……
Ivony
2006-06-06
打赏
举报
回复
尝试重写OnInit方法,在里面加入项。
ilovejolly
2006-06-06
打赏
举报
回复
mark
Ivony
2006-06-06
打赏
举报
回复
如果你是这种需求,可以尝试用ToolboxDataAttribute看看能不能解决问题。
Ivony
2006-06-06
打赏
举报
回复
楼上的,DesignMode 这个属性完全无效。。。
别告诉我你在构造函数里面判断……自己想一下这个属性被赋值的时机。
xiyun
2006-06-06
打赏
举报
回复
楼上的,DesignMode 这个属性完全无效。。。
我放到构造函数的目的是为了在其他地方直接从ToolBox里拉出来放到界面上就可以了,不用再写任何代码了。
BlueDog
2006-06-05
打赏
举报
回复
可以用静态构造函数添加。不过你这两项是不是所有该控件全部有的呀,如果是就没问题
KylinChina
2006-06-05
打赏
举报
回复
up
elivehai
2006-06-05
打赏
举报
回复
帮顶了。。
liminlovemama
2006-06-05
打赏
举报
回复
不明白....郁闷...
加载更多回复(6)
C#
自定义控件
库
C#
自定义控件
库
C#
自定义控件
的制作.doc
该教程适合初学者,例子比较简单,只能起到抛石引玉的效果。希望大家能够充分发挥自己的想象做出自己所希望的控件。
WPF
自定义控件
开发Sample
一个关于WPF自定义开发的小例子 13份WPF经典开发教程 http://download.csdn.net/album/detail/1115 C#资料合辑二[C#桌面编程入门篇] http://download.csdn.net/album/detail/957 C#资料合辑一[C#入门篇] http://download.csdn.net/album/detail/669 [Csharp高级编程(第6版)](共8压缩卷) http://download.csdn.net/album/detail/667 10个[精品资源]Java学习资料合辑[一] http://download.csdn.net/album/detail/663 10个C#Socket编程代码示例 http://download.csdn.net/album/detail/631 6份GDI+程序设计资源整合[全零分] http://download.csdn.net/album/detail/625 更多免费资源 http://download.csdn.net/user/cleopard
Android
自定义控件
实现ViewPagerIndicator 高仿MIUI
代码为博客实例代码:http://blog.csdn.net/lmj623565791/article/details/42160391 有
问题
请博客留言
Android自定义日历控件
Android自定义日历控件,需要的下载,有配套博文,IT_xiao小巫分享。
.NET Framework
17,748
社区成员
24,327
社区内容
发帖
与我相关
我的任务
.NET Framework
.NET技术 .NET Framework
复制链接
扫一扫
分享
社区描述
.NET技术 .NET Framework
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章