Vb.net 为什么动态创建的标签不能正确显示?

Vb.net 为什么动态创建的标签不能正确显示?,vb.net,winforms,Vb.net,Winforms,好吧,出于某种原因,这行不通,但我以前做过 我正在创建一个hangman应用程序,我的动态标签根本不会显示 我写了这段代码: Dim xLabel As Integer = lblPosition.Location.X Dim yLabel As Integer = lblPosition.Location.Y For i As Integer = 0 To film.Length - 1 Dim label1 As New Label xLabel += 20 labe

好吧,出于某种原因,这行不通,但我以前做过

我正在创建一个hangman应用程序,我的动态标签根本不会显示

我写了这段代码:

Dim xLabel As Integer = lblPosition.Location.X
Dim yLabel As Integer = lblPosition.Location.Y
For i As Integer = 0 To film.Length - 1
    Dim label1 As New Label
    xLabel += 20
    label1.Location = New Point(xLabel, yLabel)
    label1.Text = "_"
    label1.Font = New Drawing.Font("Century Gothic", _
                  16, _
                  FontStyle.Bold)
    label1.ForeColor() = Color.White
    label1.Name = "lblLetter" & i
    Me.Controls.Add(label1)
Next
因此,将为
胶片
字符串中的每个字符创建一个标签,并以下划线作为文本
lblPosition
是我将另一个标签的位置作为基础的标签

标签没有显示出来。我可以将下划线改为长下划线,它只显示最后一个字符

我的表单确实足够宽,而且我还没有名为
label1
的标签。 它也可以编译

编辑:如果我添加了边框,标签看起来就是这样,但仍然没有文本

编辑2:字体大小与第一个下划线相同,如果我使用字母,我会得到这个(字体大小也会减小)


label1.AutoSize=True
添加到循环中:

Dim xLabel As Integer = lblPosition.Location.X
Dim yLabel As Integer = lblPosition.Location.Y
For i As Integer = 0 To film.Length - 1
    Dim label1 As New Label
    xLabel += 25 ' <---- 25 works better with your font size
    label1.Location = New Point(xLabel, yLabel)
    label1.AutoSize = True ' <---- HERE!
    label1.Text = "_"
    label1.BorderStyle = BorderStyle.FixedSingle ' <---- Added border for demo
    label1.Font = New Drawing.Font("Century Gothic", _
                  16, _
                  FontStyle.Bold)
    label1.ForeColor() = Color.White
    label1.Name = "lblLetter" & i
    Me.Controls.Add(label1)
Next
Dim xLabel As Integer=lblPosition.Location.X
Dim yLabel As Integer=lblPosition.Location.Y
对于i,整数=0到胶片长度-1
Dim label1作为新标签

xLabel+=25'它们可能正在添加。字体太大,因此大小可能不够高,而且它们很可能重叠,导致只显示最后一个字符。将borderstyle设置为3D,看看还有什么问题。谢谢,请检查我的编辑,字体太大,因此大小可能不够高-下划线(
\uu
)将位于底部,可能在边框之外。设置一个足够大的特定尺寸以显示…只需在其中放置一个或两个字母,您将看到它们是如何剪裁的。或者,如果您不想自动调整大小,但需要固定大小,您可以只设置
label1.size