关于c#:如何区分表单上的用户控件加载和运行时加载

How to distinguish between User Control load on form and load when runtime

我使用C for Windows窗体应用程序创建了一个用户控件。此用户控件具有一些属性。在运行时,如果用户没有为此属性输入值,我希望显示一个消息框并退出应用程序。

问题是当我在用户控件的加载事件中编写检查代码时。当我将其拖放到窗体上时,将显示消息框。

1
2
3
4
5
6
7
private void UserControl1_Load(Object sender, EventArgs e)
{
    if (_getFirstPageArgument==null || _getFirstPageArgument.Length==0)
    {
        throw new Exception("Some Message");
    }
}

如何区分窗体上的负载和运行时的负载?


我害怕有一大的问题在这里。但我不能解决你的问题的直接(如果我的理解correctly…)的形成有attribute叫DesignMode。当你是在视觉工作室的设计模式,这将true。runtime美元,这将false。 P / < >


@案例nimas的初学者,可以很好的研究点的了解,但是runs视觉工作室和executes零件部我们的代码,即使当我们在设计的时候,这就是为什么"constructor也invoked。即使是"designmode"属性不是100% reliable。你可以找到一个有趣的注意的是相关的,网址:/ / / / / weblogs.asp.net fmarguerie archive 2005 / / / 395658.aspx 23 03 P / < >


如果你只想知道当型itself已loaded入的runtime(不是具体的审),你可以把代码中的静态constructor为这类。 P / < >

如果我是你的misinterpreting问题,请使用clarify timeline在想你的时候到的特定事件的发生。 P / < >