vb.net LED BOARD DISPLAY用户控件

时间:2011-12-23 07:25:28

标签: vb.net image vb6-migration led system.drawing.imaging

我正在开发vb.net中的LEDBOARD用户控件。我也做了。实际上它花了太多时间加载。在 vb6 相同的应用程序中我使用标签控件加载3000个标签数组,但不耗时。在 vb.net 我做的相同,但加载3000个标签需要花费太多时间。是否有其他方式(任何控件或任何自定义控件)来绘制输入文字(任何字体样式),图像如下图像      它看起来像enter image description here

1 个答案:

答案 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