我需要在另一个项目中实例化一个Winform.这是怎么做到的?我目前正在尝试链接默认构造函数.似乎我的自定义构造函数没有被调用.
此外..此应用程序的入口点将不在拥有此表单的项目中.意味着以下内容不会运行:
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new HtmlTestForm());
Run Code Online (Sandbox Code Playgroud)
我不完全确定这段代码是做什么的.表格还能起作用吗?
private HtmlTestForm()
{
InitializeComponent();
OpenBrowser(new Uri(TestURL));
}
public HtmlTestForm(Uri uri)
:this()
{
TestURL = uri;
}
Run Code Online (Sandbox Code Playgroud)
//在另一个项目中新建表单
HtmlTestForm form = new HtmlTestForm(new Uri("http://SomeUri.html"));
Run Code Online (Sandbox Code Playgroud)
表格将有效.
但是,TestURL
只会在OpenBrowser
通话后分配.(: this()
将首先执行整个默认构造函数)
相反,您应该InitializeComponent
在自定义构造函数中单独调用,而不是链接到默认值.
.Net表单类是碰巧包含自动生成的方法的普通类InitializeComponent
.
它们没有你需要注意的任何魔法(与VB6不同); 只要您了解InitializeComponent
(阅读其来源)的目的,您就可以随心所欲地做任何事情.
归档时间: |
|
查看次数: |
3331 次 |
最近记录: |