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: ");
}