相关疑难解决方法(0)

为什么VB.Net中的每个表单都有默认实例,而C#中没有?

我只是想知道有(Name)属性,它表示Form类的名称.此属性在命名空间内用于唯一标识Form是其实例的类,并且在Visual Basic的情况下,用于访问表单的默认实例.

现在,这个默认实例的来源,为什么C#不能有一个等效的方法.

另外例如,为了在C#中显示一个表单,我们执行以下操作:

// Only method
Form1 frm = new Form1();
frm.Show();
Run Code Online (Sandbox Code Playgroud)

但是在VB.Net中我们有两种方法可以做到:

' First common method
Form1.Show()

' Second method
Dim frm As New Form1()
frm.Show()
Run Code Online (Sandbox Code Playgroud)
  1. 我的问题来自第一种方法.这是什么Form1,它是一个实例 Form1Form1类本身?现在,正如我上面提到的,Form名称是VB.Net中的Default实例.但我们也知道这Form1是一个定义的类,Designer那么实例和类名的名称是如何相同的?如果Form1是一个类,则没有名为Show()的(Static\Shared)方法.那么这种方法来自哪里?

  2. 他们在生成的IL中有什么不同?

  3. 最后为什么C#不能与之相提并论呢?

c# vb.net winforms

43
推荐指数
2
解决办法
7258
查看次数

按类名调用Windows窗体

我实际上正在研究和研究VB.NET.我的学校正在使用VS2010,我专业使用VS2012.当我必须Mdicontainer在VS2010中调用一个Windows窗体时,我只使用它的类名,例如:

FormX.MdiParent = Me

FormX.Show()
Run Code Online (Sandbox Code Playgroud)

但是当我使用VS2012时,似乎我必须创建一个我的实例mdichild,就像这样:

Dim form As New FormX()

form.MdiParent = Me

form.Show()
Run Code Online (Sandbox Code Playgroud)

我的问题是:只是我做错了或VS改变了我们使用WinForms的方式?

vb.net mdi instance visual-studio winforms

6
推荐指数
1
解决办法
743
查看次数

标签 统计

vb.net ×2

winforms ×2

c# ×1

instance ×1

mdi ×1

visual-studio ×1