【发布时间】:2009-01-26 15:55:24
【问题描述】:
当您在 WinForm 设计器中加载 UserControl 时,VisualStudio 执行控件的 InitializeComponent() 方法,但不执行其构造函数。 这真的很重要,因为在构造函数中有一些无法在设计时运行的代码是很常见的。
不幸的是,当您将 UserControl 添加到另一个控件时,VisualStudio 会运行父控件的 InitializeComponent() 方法,该方法调用子控件的构造函数,如果您在这些构造函数中遇到异常,那么您就是卡住了。
你如何处理这个问题?
【问题讨论】:
-
Visual Studio 如何在不构造实例的情况下调用 InitialiseComponent。构造函数保证在 InitialiseComponent 之前被调用。
-
试试吧:创建一个空白表单,并在构造函数的第一行(即调用 Initializecomponent 之前)添加“throw new Exception()”。您会看到 winform 设计器仍然可以加载表单。
标签: .net visual-studio winforms windows-forms-designer