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

Vb.net 在if…then语句中动态创建标签,vb.net,Vb.net,这可能很简单,但我很难做到。我试图在一个单步表单中创建一个“回顾”部分,用户可以看到所有输入的内容,如果他们选择返回并再次“编辑”该信息。一个部分只需显示用户添加的信息,基本上如果他们没有选中某个复选框,就没有理由显示该框的信息 我想在TabPage(TabPage3)上的面板(Panel7)中动态创建标签,仅针对选中的复选框信息。这就是我现在所拥有的,我在页面上看不到任何东西,我也尝试过在没有面板的情况下直接进入选项卡页面本身,但没有任何效果 MsgBox(CurPat, MsgBox

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

我想在TabPage(TabPage3)上的面板(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

除非要计算每个标签的正确X、Y位置,否则请将每个新创建的标签设置为Autosize=False和Dock=Top。这样,它们将在面板中一个堆叠在另一个之上。但请注意,它们将与底部的第一个标签和顶部的最新标签一起堆放。你得把那部分算出来。

我想有个问题:

If (CurPat = "True")
应该是:

If (CurPat = True)
为了确保这一点,请在
If
块中放置一个消息框,查看它是否被触发,并在
Else
块中放置另一个消息框

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

您是否尝试将其Visible设置为True?x和y位于面板的可见区域内??你把它移到前面了吗??将visible设置为true?您是否也设置了面板的大小和位置?它的可见属性是真的吗?除了上面所有的建议。。。您是否确实保证了if中的代码正在执行?