私はこのカスタムクラスを持っています
Public Class labelScroll
Inherits Label
Public Shadows Property Text As String
Get
Return MyBase.Text
End Get
Set(ByVal value As String)
Dim add As String = ""
Dim result As String()
Dim i As Integer
result = Split(value, vbLf)
Dim n As Integer = 30
If (result.Length < n) Then
n = result.Length
End If
Dim start As Integer = result.Length - n
For i = start To result.Length - 1 Step 1
add += result(i) + Environment.NewLine
Next
MyBase.Text = add
End Set
End Property
End Class
このlabelScrollを配置し、ボタンも配置したフォームがあります。ボタンのクリックイベント用の次のコードがあります。
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
LabelScroll1.Text = "1"
Threading.Thread.Sleep(1000)
LabelScroll1.Text += "2"
Threading.Thread.Sleep(1000)
LabelScroll1.Text += "3"
End Sub
ボタンをクリックすると2秒かかり、3行に「1」「2」「3」と表示されます。実際に起こるべきことは、ユーザーがボタンをクリックすると、「1」が表示Threading.Thread.Sleep(1000)
されてから実行されるため、プログラムは1秒間待機してから、次の行に「2」を出力します。
なぜこれが起こらないのですか?