问题描述:自定义控件UserControl1 中有 TableName 属性(代码如下),Browsable(true)。
然后有UserControl2继承自UserControl1(代码如下),
生成 UserControl2 控件,在IDE的“属性”窗口可以看到 TableName ,FieldName 2 个属性。
现在偶想生成的 UserControl2 在IDE的“属性”窗口只可以看到 FieldName 1 个属性,使TableName属性不可见,
即怎样使父控件的TableName属性在IDE的“属性”窗口中不可见 Browsable(false)???(注:不可以 Override,new)
-----------------------------------------------public class UserControl1 : System.Windows.Forms.UserControl
{string tableName = null;
[Category("MySettings"),Browsable(true)]
public string TableName
{
get{return tableName; }
set{tableName = value;}
}
}public class UserControl2 : UserControl1
{string fieldName = null;
[Category("MySettings"),Browsable(true)]
public string FieldName
{
get{return fieldName; }
set{fieldName = value;}
}
}
谢谢
然后有UserControl2继承自UserControl1(代码如下),
生成 UserControl2 控件,在IDE的“属性”窗口可以看到 TableName ,FieldName 2 个属性。
现在偶想生成的 UserControl2 在IDE的“属性”窗口只可以看到 FieldName 1 个属性,使TableName属性不可见,
即怎样使父控件的TableName属性在IDE的“属性”窗口中不可见 Browsable(false)???(注:不可以 Override,new)
-----------------------------------------------public class UserControl1 : System.Windows.Forms.UserControl
{string tableName = null;
[Category("MySettings"),Browsable(true)]
public string TableName
{
get{return tableName; }
set{tableName = value;}
}
}public class UserControl2 : UserControl1
{string fieldName = null;
[Category("MySettings"),Browsable(true)]
public string FieldName
{
get{return fieldName; }
set{fieldName = value;}
}
}
谢谢
解决方案 »
- c#中如何调用vb.net做的.dll?调用只要把dll放在exe同目录下就可以,还是需要手工注册?Thanks!
- C#資料库问题
- 有一年asp项目经验,几个月业余时间学习.net经验,现在要你一个人开发,你会用asp还是.net
- WinForm下的TabControl问题~~
- 继续发贴:listView 点击列头排序问题,请高手进入看一下,顶者有分!
- 菜鸟问题。
- 求助
- 新建线程下timer的问题!!!求解!!!来人啊
- C#关于WINDOWS窗体应用程序!!1C#高手进
- 如何为rdlc报表的日期参数传入null值?
- 请高手指点:我在form中放了一个hScrollBar,和一个很大的按钮button,当form较小时button不能全部显示,通过滑动hscrollbar看到另一部分bu
- 委托说明及异步的方式调用和线程关系问题...求助.........
UserControl1 的TableName 属性 不能 在 class UserControl1 中设成 private,
因为UserControl1也是一个控件,单独使用时需要显示TableName 属性 若可以在 class UserControl2 中把UserControl1 的TableName 属性设成 private就好啦,
但没有方法可以这样做呀。
估计此问题无解了,来者有分呀
这个要求太苛刻了。楼主既然用了继承,为什么不需用这两种途径呢?
to: epimetheus(阿戈尔)
因为用new隐藏重写 父类UserControl1的TableName属性,
需要用到UserControl1内部的private变量,子类里不能重写,子类UserControl2 中出要调用到 UserControl1.的TableName属性的值,
只是希望它的Browsable(true)变成Browsable(false) or 变成 private 我偶现 UserControl2 继承自 System.Windows.Forms.UserControl,
然后UserControl2 中实例一个 UserControl1 ,
这样写效果是达到了,
但感觉这样写不太好
算了,
无解就散分啦