积极答复者
请教一个关于自定义控件的问题

问题
-
在控件刚刚被拖到Form上,和Form上已经有了控件只是Form刚刚在设计模式中“查看设计器”方式打开form这两种情况有什么样的属性来区分开来吗?
不知道我这样描述准确不准确。
业精于勤,荒于嬉,行成于思,毁于随。- 已移动 Sheng Jiang 蒋晟Moderator 2009年8月22日 12:44 Windows窗体设计器问题 (发件人:Visual C#)
答案
-
你好!
我明白你的意思了,常规方法很难区分,我尝试了这个方法,但是失败了,我估计是重新打开设计器的需要重新构造一个新的实例:
public class MyUserControl : UserControl { private bool IsFirstLoad = true; public MyUserControl() { this.Load += new EventHandler(MyUserControl_Load); } void MyUserControl_Load(object sender, EventArgs e) { if (IsFirstLoad) { MessageBox.Show("First Load"); IsFirstLoad = false; } else MessageBox.Show("No First Load"); } }
周雪峰- 已标记为答案 Riquel_DongModerator 2009年8月28日 5:32
-
如果你的意思发周雪峰所述,那么是没有直接的办法处理的。你可以尝试生成临时文件来记录 Form1 在设计模式下加载的情况
知识改变命运,奋斗成就人生!- 已标记为答案 Riquel_DongModerator 2009年8月28日 5:32
全部回复
-
你好!
我明白你的意思了,常规方法很难区分,我尝试了这个方法,但是失败了,我估计是重新打开设计器的需要重新构造一个新的实例:
public class MyUserControl : UserControl { private bool IsFirstLoad = true; public MyUserControl() { this.Load += new EventHandler(MyUserControl_Load); } void MyUserControl_Load(object sender, EventArgs e) { if (IsFirstLoad) { MessageBox.Show("First Load"); IsFirstLoad = false; } else MessageBox.Show("No First Load"); } }
周雪峰- 已标记为答案 Riquel_DongModerator 2009年8月28日 5:32
-
如果你的意思发周雪峰所述,那么是没有直接的办法处理的。你可以尝试生成临时文件来记录 Form1 在设计模式下加载的情况
知识改变命运,奋斗成就人生!- 已标记为答案 Riquel_DongModerator 2009年8月28日 5:32
-
那textbox是通过什么方式能够在刚拖到窗体上的时候把Text属性赋值为跟name相同值的呢。
业精于勤,荒于嬉,行成于思,毁于随。
您好,您现在在使用的是高级特性,根据设计规范的提示,我找到一个资料,您看看有没有帮助,请参考:http://msdn.microsoft.com/zh-cn/library/system.windows.forms.design.controldesigner.aspx