[英]Create dynamics labels in a loop Vb.Net
我正在制作一个代码,可以从 .txt 文件自动创建一些标签。 我已经有一个但它不起作用,它只创建一个标签。
有我的代码:
Imports System.IO
Imports System.Text
Public Class Form5
Public uf8Encoding As Encoding = Encoding.UTF8
Public lignes() As String = System.IO.File.ReadAllLines("clients.txt")
Public lineCount As Integer = IO.File.ReadAllLines("clients.txt").Length ' lineCount = 7
Public a As Integer = 1
Public position As Integer = 10
Public lb As Label()
Private Sub Form5_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub
Private Sub loop1(sender As Object, e As EventArgs) Handles Button1.Click
ReDim lb(lineCount - 1)
For i = 0 To lineCount - 1
lb(i) = New Label
lb(i).Name = "Label" & a
lb(i).Text = lignes(i)
lb(i).Location = New Point(position, 10)
position += 10
Me.Controls.Add(lb(i))
Next
End Sub
End Class
标签彼此重叠,如果您将位置增量更改为 100,您将能够看到其他标签。
如果设置了标签的 BackColor,就可以清楚地看到问题所在。
如果您将 AutoSize 设置为 true,它们将使用最小的空间,即使距离为 10,您也可以看到下一个标签。
不知道这是否是您的问题,但您所有的标签都有相同的名称,“Label1”lb(i).Name =“Label” & a。
在循环 a += 1 中增加 a。 并且所有标签都有不同的名称。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.