我想在代碼中在窗體上繪製TextBoxes/Labels並將它們與線連接 - 基於我存儲在數據表(「treedata」)中的數據。如果我使用下面的代碼一切正常:System.Drawing.Pen - 將標籤放置在表單上時線條消失
For i = 0 To treedata.Rows.Count - 1
Dim tb As New TextBox
hor = treedata.Rows(i)(11)
vern = ver + 120 * treedata.Rows(i)(4)
tb.Text = "sometext"
tb.Location = New Point(hor, vern)
Form8.Controls.Add(tb)
posofmodif = treedata.Rows(i)(10)
vero = treedata.Rows(i)(6)
Dim myPen As New System.Drawing.Pen(System.Drawing.Color.Green)
Dim formGraphics As System.Drawing.Graphics
myPen.SetLineCap(LineCap.RoundAnchor, LineCap.ArrowAnchor, DashCap.Flat)
formGraphics = Form8.CreateGraphics()
formGraphics.DrawLine(myPen, Convert.ToSingle(posofmodif), Convert.ToSingle(vero), Convert.ToSingle(hor), Convert.ToSingle(vern))
myPen.Dispose()
formGraphics.Dispose()
Next
不過,我想,因爲它沒有任何意義在這種情況下使用較重的文本框使用標籤,而不是文本框。但是,當我只需
Dim tb As New Label
更換
Dim tb As New TextBox
標籤都在表上顯示爲預期,但連接它們的線只出現了片刻,然後隱形。
我首先認爲問題可能是由於標籤超出或低於線條引起的,但即使我確保沒有線條穿過任何標籤,它也會發生。
有沒有人有一個想法,我可以做什麼來避免這種情況?
你在做什麼?如果您尚未這樣做,請嘗試在Form.Paint事件中執行此操作。 – Joe