私はvb.netでLEDBOARDユーザーコントロールを開発しています。私もそれを行いました。実際にはロードに時間がかかりすぎます。vb6同じアプリケーションでは、ラベルコントロールアレイを使用して3000ラベルをロードしていますが、時間はかかりません。vb.net私も同じことをしていますが、3000枚のラベルをロードするのに時間がかかりすぎています。入力テキスト(任意のフォントスタイル)、下の画像のような画像を描画する他の方法(任意のコントロールまたは任意のカスタムコントロール)はありますか
?
1951 次
1 に答える
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
于 2011-12-23T19:34:54.723 に答える