自定义控件名称的取值

jcyluck 2011-12-12 05:01:39
1.主界面中有一个TabControl,他包含两个Tabpage,第二个Tabpage上,有一个自定义控件User_Ctl
2.User_Ctl 中包含一个Textbox, 在 User_Ctl_Load 事件中 指定 Textbox.Name = User_Ctl.Name
3.在界面设计时,修改这个 User_Ctl 的name属性为 paa01
4.在界面初始化时,会循环各个控件,并以 Textbox.Name 为条件来取值,然而取不到正确值。

分析:
1.程序在初始化界面时,User_Ctl 这个自定义控件在第二个 Tabpage上,没有呈现在当前界面,所以就没有跑 User_Ctl_Load 事件,所以 Textbox.Name = User_Ctl.Name 这行代码就没有运行。
2.界面加载顺序:构造主界面--构造自定义控件--指定自定义控件的名称为 paa01

请教各路高手,第4点的这个问题应该如何解决?谢谢!
...全文
66 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jcyluck 2011-12-13
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 sandy945 的回复:]
在构造函数中赋值
[/Quote]

应该不行,
1。如果在自定义控件的构造函数中赋值将不起任何作用,因为 指定自定义控件的名称为 paa01 在其构造函数之后。

2.如果在调用程序的构造函数中赋值,这样将显得非常别扭,每调用一次这个自定义控件就要手动赋值一次,如果这个界面有10个,就要赋值10次,而且容易遗忘这些细节,且不易被发现。

有没有更好的方法?
阿非 2011-12-13
  • 打赏
  • 举报
回复
在构造函数中赋值
jcyluck 2011-12-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 sandy945 的回复:]
那你就在 User_Ctl_Load 事件之前执行赋值操作
[/Quote]

我当然也想,但具体怎样做?请赐教。。。。
jcyluck 2011-12-13
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 sandy945 的回复:]
1。如果在自定义控件的构造函数中赋值将不起任何作用,因为 指定自定义控件的名称为 paa01 在其构造函数之后
----------------
不起作用?
[/Quote]


因为界面加载顺序是:
2.界面加载顺序:构造主界面--构造自定义控件--指定自定义控件的名称为 paa01
阿非 2011-12-13
  • 打赏
  • 举报
回复
1。如果在自定义控件的构造函数中赋值将不起任何作用,因为 指定自定义控件的名称为 paa01 在其构造函数之后
----------------
不起作用?
阿非 2011-12-12
  • 打赏
  • 举报
回复
那你就在 User_Ctl_Load 事件之前执行赋值操作

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

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

试试用AI创作助手写篇文章吧