【问题标题】:How to dynamically create controls in a dynamically created form window in console application如何在控制台应用程序中动态创建的表单窗口中动态创建控件
【发布时间】:2015-10-24 06:15:11
【问题描述】:

使用 VB.NET 2010 有没有办法在控制台应用程序的动态创建的窗体窗口中动态创建控件,而不使用任何额外的插件?如果是这样,你能为这些控件做事件处理程序吗?

【问题讨论】:

  • 不,您不在控制台应用程序中使用表单和控件。虽然从技术上讲,您可以在内存中创建对象,但是,它有什么用呢?
  • 我在我的编程语言中使用它来预添加控件,然后显示窗口。当我在一个月内向公众发布时,它会更有意义。

标签: vb.net vb.net-2010


【解决方案1】:

由于您已经有一个显示的表单,因此您已经拥有对 System.Windows.Forms 的引用。您可以使用与表单类似的方式将控件添加到表单。要连接事件,请使用 AddHandler 声明:

Imports System.Windows.Forms
Module Module1

    Private m_frmTest As Form = Nothing

    Sub Main()

        Dim frmTest As New Form()

        Dim btnTest As New Button()
        btnTest.Text = "Test"
        btnTest.Top = 100
        btnTest.Left = 100

        AddHandler btnTest.Click, AddressOf SimpleButtonClickHandler

        frmTest.Controls.Add(btnTest)

        frmTest.ShowDialog()            

    End Sub

    Private Sub SimpleButtonClickHandler()

        MsgBox("Test")

    End Sub

End Module

【讨论】:

  • 您对我的帮助比您想象的要多得多,我必须在两天内将我的程序发布到互联网上。我需要知道一种不使用 .NET Framework 4.6 的方法。谢谢!我所做的是因为你不能为不同的控件添加不同的命令,所以我只是做了它,所以你将它编码在一个外部文件中,用于事件处理程序检测到的控件。简而言之,您可以使用此方法为不同的控件编写事件代码。
猜你喜欢
  • 2017-07-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多