我正在开发vb.net中的LEDBOARD用户控件。我也做了。实际上它花了太多时间加载。在 vb6 相同的应用程序中我使用标签控件加载3000个标签数组,但不耗时。在 vb.net 我做的相同,但加载3000个标签需要花费太多时间。是否有其他方式(任何控件或任何自定义控件)来绘制输入文字(任何字体样式),图像如下图像 它看起来像
答案 0 :(得分:1)
通过继承Control
而不是使用UserControl并添加大量标签,从头开始创建LedBoard控件。
我做了一个小测试,向你展示我的意思。您必须调整逻辑以满足您的需求。
Public Class LedBoard
Inherits Control
Private _rand As Random = New Random()
Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
e.Graphics.FillRectangle(Brushes.Black, 0, 0, Width, Height)
Const nx As Integer = 40, ny As Integer = 25
Dim w = CInt((Width - 1) / nx) - 1
Dim h = CInt((Height - 1) / ny) - 1
For x As Integer = 0 To nx - 1
For y As Integer = 0 To ny - 1
If _rand.NextDouble() < 0.8 Then
e.Graphics.FillRectangle(Brushes.Red, x * (w + 1) + 1, y * (h + 1) + 1, w, h)
End If
Next
Next
End Sub
End Class