C# 在Visual Studio中运行时之前,仅在Designer视图中使用事件
我想这是一个非常奇怪和罕见的问题 我创建了一个标签控件,它继承了C# 在Visual Studio中运行时之前,仅在Designer视图中使用事件,c#,visual-studio,events,user-controls,C#,Visual Studio,Events,User Controls,我想这是一个非常奇怪和罕见的问题 我创建了一个标签控件,它继承了System.Windows.Forms.Label对象,因此在设计器视图中可见并可用。当我将标签拖到表单上,VisualStudio创建了它的一个实例时,我希望它打开一个输入框,询问它的文本应该是什么。我重写了OnCreateControl事件,它正在工作,但问题是运行程序时也会发生同样的情况,但我只希望它在运行时之前在设计器视图中工作。我应该如何检查/避免这种情况 代码如下: protected override void On
System.Windows.Forms.Label
对象,因此在设计器视图中可见并可用。当我将标签拖到表单上,VisualStudio创建了它的一个实例时,我希望它打开一个输入框,询问它的文本应该是什么。我重写了OnCreateControl
事件,它正在工作,但问题是运行程序时也会发生同样的情况,但我只希望它在运行时之前在设计器视图中工作。我应该如何检查/避免这种情况
代码如下:
protected override void OnCreateControl()
{
base.OnCreateControl();
this.Text = Microsoft.VisualBasic.Interaction.InputBox("Enter text: ");
}
使用属性
DesignMode
了解组件当前是否已设计:
protected override void OnCreateControl()
{
base.OnCreateControl();
if (DesignMode)
this.Text = Microsoft.VisualBasic.Interaction.InputBox("Enter text: ");
}