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

时间:2011-10-20 18:17:59

标签: vb.net

这可能很简单,但我很难接受。我试图通过表单逐步创建“审核”部分,用户可以看到已输入的所有内容,如果他们选择返回并再次“编辑”该信息。一个部分只需要显示用户添加的信息,基本上如果他们没有选择某个复选框,则没有理由显示该框的信息。

我想在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

2 个答案:

答案 0 :(得分:1)

我认为有一个问题:

If (CurPat = "True")

应该是:

If (CurPat = True)

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

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

答案 1 :(得分:0)

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