【问题标题】:VB.net adding multiple controls on button clickVB.net 在按钮单击时添加多个控件
【发布时间】:2015-08-11 15:23:33
【问题描述】:

我正在尝试制作一个可根据请求自行生成的用户界面(单击按钮)

Private Sub Body_new_part_add_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Body_new_part_add.Click

因此,当我首先添加一个组合框时,它会生成该框并将其放置在正确的位置等,这没问题。

    Dim oTypeBox As New ComboBox
    oTypeBox.Name = "Body_type_" & oBodyPartsNumber
    oTypeBox.Location = New System.Drawing.Point(7, 78)
    Body_parts.Controls.Add(oTypeBox)

现在我想添加另一个控件,即 Combobox 旁边的文本框。

    Dim oTypeBox As New ComboBox
    oTypeBox.Name = "Body_type_" & oBodyPartsNumber
    oTypeBox.Location = New System.Drawing.Point(7, 78)
    Body_parts.Controls.Add(oTypeBox)

    Dim oTextbox As New TextBox
    oTextbox.name = "test"
    oTextbox.Location = New System.Drawing.Point(50, 78)
    Body_parts.Controls.Add(oTextbox)

这给了我这个错误。

'New' cannot be used on an interface.

为了完成这项工作,我需要进行哪些更改?我需要在每个按钮单击事件上添加 +- 10 个控件。

【问题讨论】:

    标签: vb.net controls


    【解决方案1】:

    试试这个

    Public Class Form1
        Dim cLeft As Integer = 1
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            AddNewTextBox()
        End Sub
        Public Function AddNewTextBox() As System.Windows.Forms.TextBox
            Dim txt As New System.Windows.Forms.TextBox()
            Me.Controls.Add(txt)
            txt.Top = cLeft * 25
            txt.Left = 100
            txt.Text = "TextBox " & Me.cLeft.ToString
            cLeft = cLeft + 1
            Return txt
        End Function
    End Class
    

    【讨论】:

    • 但是function(?) 的意义何在?当您可以将该代码放在按钮下时。
    • 函数都是为了避免重复你的代码。
    • 我知道并且我同意......但在这种特殊情况下(问题)是不必要的。
    • 是的,但这是我的编码格式,这就是我使用它的原因。
    猜你喜欢
    • 1970-01-01
    • 2023-01-25
    • 2021-03-31
    • 2016-12-15
    • 2018-11-12
    • 1970-01-01
    • 2013-11-07
    • 1970-01-01
    • 2021-06-28
    相关资源
    最近更新 更多