.net - 使用 CodeDom 编写 VB.NET Windows 窗体应用程序

标签 .net vb.net winforms codedom

如何通过 CodeDom 编写 VB.NET Windows 窗体应用程序?

我已经尝试了所有方法,最接近它的是下面的代码,它首先显示了不好的命令提示符窗口,然后显示了大约一秒钟的表单,然后一切都消失了。 还有另一种正确的方法吗?非常感谢一个例子。

Public Module MyApp
    Public Sub main()
        Dim NewForm As New System.Windows.Forms.Form
        NewForm.Name = "Form1"
        NewForm.Text = "Form1"
        NewForm.Width = 300
        NewForm.Height = 300
        NewForm.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
        NewForm.ControlBox = True
        NewForm.MaximizeBox = False
        NewForm.MinimizeBox = True
        NewForm.Show()
    End Sub
End Module

最佳答案

它不起作用,因为您没有调用 Application.Run() .没有它,没有什么能停止主线程,它退出,这就是程序和表单的结尾。 NewForm.ShowDialog()是另一个便宜的解决方案。

正确的咒语是:

Imports System.Windows.Forms

Public Module MyApp
    Public Sub Main()
        Application.EnableVisualStyles()
        Application.SetCompatibleTextRenderingDefault(False)
        Dim NewForm As New Form
        '' Set properties
        ''...
        Application.Run(NewForm)
    End Sub
End Module

要停止显示控制台窗口,您需要更改 EXE 类型。项目 + 属性,应用程序选项卡,将“应用程序类型”设置从控制台应用程序更改为 Windows 窗体应用程序。对于 CodeDom,您需要设置 CompilerOptions 以指定/target。

关于.net - 使用 CodeDom 编写 VB.NET Windows 窗体应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9848823/

相关文章:

vb.net - 在 VB.NET 中显示向下的三角形 ▼ (U+25BC)

winforms - Xtragrid 存储库组合框

.net - win 2010 上的 Dotnet 核心安装错误

c# - Expression<Func<T>> 是否适用于混合静态/实例成员?

javascript - 正则表达式 - 替换 HTML 字符串中不包含在 HTML 标记中的文本

c# - 记录错误代码的最佳方法

vb.net - 设置两个面板之间的制表位

c# - 双缓冲用户控件的刷新问题

.net - 将 [Serializable] 更改为 [DataContract]

c# - MethodHandle.GetFunctionPointer 和 Marshal.GetFunctionPointerForDelegate 之间有什么区别