在if..then语句中动态创建标签



这可能很简单,但我很难做到。我试图在一个步骤通过表单"审查"部分,在那里用户可以看到所有已经输入,如果他们选择返回并"编辑"该信息再次。一个部分只需要显示用户添加的信息,基本上,如果他们没有选择某个复选框,就没有理由显示该框的信息。

我想动态地在TabPage (TabPage3)上的Panel (Panel7)中创建标签,仅用于选中的复选框信息。这就是我现在所拥有的,我无法在页面上看到任何东西,我也尝试过不使用面板并直接进入选项卡本身,但无济于事。

    MsgBox(CurPat, MsgBoxStyle.Critical)
    If (CurPat = "True") Then
        Dim lblTemp As New Label
        lblTemp.Text = "Inquirer has used service previously: " & CurPat
        lblTemp.Location = New Point(x, y)
        Me.Panel7.Controls.Add(lblTemp)
    End If

之前的消息框只是告诉我它被赋值为"True",我保证它是。提前感谢您的任何帮助。-NickG

我认为有一个问题:

If (CurPat = "True")

应该是:

If (CurPat = True)

只是为了确保,在If块内放置一个消息框,看看它是否被触发,并在Else块中放置另一个消息框。

If (CurPat = True)
    MessageBox.Show("CurPat = True")
    ...
Else
    MessageBox.Show("CurPat = False")
End If

除非您想计算每个标签的正确X, Y位置,否则将每个新创建的标签设置为Autosize = False和Dock = Top。这样,他们将在面板中堆叠一个在另一个之上。但请注意,它们将堆叠在底部,第一个标签和最新的在顶部。

最新更新