学做控件:如何初始化自定义控件的Name属性??做过控件的请进!!!!!!
我继承了"TextBox"控件后扩展了一点功能做成了一个控件.
从工具栏把这个控件拖到窗体上后可以设定它的"Name"属性吗?(就是在拖到窗体后,"Name"的初始化值可以设定吗?)
我在"InitializeComponent"过程里加上这句都没用.
....
base.Name = "MyControl";
....
拖到窗体上后"Name"的初始值还是"LsTextBox1"(控件的文件名是"LsTextBox")
要怎样才能让控件拖到窗体上后"Name"的初始值为"MyControl"呢??????
问题点数:30、回复次数:8Top
1 楼lazyfish(呆呆虫)回复于 2006-06-02 23:20:30 得分 0
your control
[DefaultValue("MyControl")]
public string Name {
get{
return (string)ViewState["Name"];
}
set {
ViewState["Name"] = value;
}
}Top
2 楼gaiwa(我不是大侠)回复于 2006-06-03 23:52:44 得分 0
楼上的办法试过了,好像不行.
"ViewState"这是个什么东西?系统认不到.Top
3 楼lazyfish(呆呆虫)回复于 2006-06-04 19:59:41 得分 5
不会吧,ViewState可是control的一个属性.Top
4 楼gaiwa(我不是大侠)回复于 2006-06-05 16:06:00 得分 0
真的不行.我用的是.Net 2003,有没有可能是版本问题?Top
5 楼lazyfish(呆呆虫)回复于 2006-06-05 20:33:39 得分 0
你把整个代码帖出来看看。Top
6 楼jianyi0115(随意)回复于 2006-06-05 23:34:04 得分 0
private string _Name = "MyControl";
[DefaultValue("MyControl")]
public string Name {
get{
return _Name ;
}
set {
_Name = value;
}
}Top
7 楼liujiwe79(专业做控件)回复于 2006-06-13 09:16:45 得分 5
[DefaultValue("MyControl")]只是当控件的名称为MyControl,不序列化为代码,别的应该没有什么用吧?Top
8 楼mapserver(杨东 http://mapserver.cnblogs.com)回复于 2006-06-13 10:03:40 得分 20
可以设定的,重写它的Designer,并在这个Designer里override InitializeNewComponent即可。
参考:http://mapserver.cnblogs.com/archive/2006/03/27/359601.htmlTop




