• 全部
  • C#综合技术
  • C#互联网桌面应用
  • AppLauncher
  • WinForm&WPF
  • C#开发新技术
  • 问答

怎么样把被继承的子控件中的属性不被自动加入到InitializeComponent方法中去?

bigbigpoo 2004-10-27 08:21:42
现在有一个子控件:SubTextBox : TextBox
在SubTextBox中,我改变了BackColor属性的值.
然后, 把这个SubTextBox加入到Form里后,BackColor的属性也被自动加入到InitializeComponent方法中去.
最后,我再想去修改SubTextBox里的BackColor值,Form中的SubTextBox的BackColor没有改变.

这样的话,我的子控件就失去了意义了.
请问,以上有什么办法解决吗?

谢谢
...全文
110 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
bigbigpoo 2004-10-28
好像还是不行,这只是一个障眼法而已么?
回复
bigbigpoo 2004-10-27
O,太好,我试一下,如果成功的话,我想明天我会结贴的。谢谢。
回复
saucer 2004-10-27
1. if you don't want people to change it, try to override the property

[Browsable(false)]
public override Color BackColor
{
get {return base.BackColor;}
set {base.BackColor = value;}
}

2. since the BackColor code in InitializeComponent runs after your object's constructor, try to make the change the color after InitializeComponent
回复
bigbigpoo 2004-10-27
不是在desinger的状态下改的,是在SubTextBox的构造器里改的。我的本意就是能够用子控件来控制颜色的,但是现在不行了。

请大家过目呀。
回复
saucer 2004-10-27
>>我再想去修改SubTextBox里的BackColor值,Form中的SubTextBox的BackColor没有改变.

where are you changing it? if you are doing inside the designer, it should
回复
bigbigpoo 2004-10-27
请大家想想办法呀~~~~
在线等待中...
回复
发帖
C#
创建于2007-09-28

10.5w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2004-10-27 08:21
社区公告

让您成为最强悍的C#开发者