C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


■88567 / )  Re[4]: フォームの連続的な書き換えに関して
□投稿者/ パヨンパヨン (2回)-(2018/09/08(Sat) 13:06:20)
ありがとうございます。

こちらの勘違いでした、
Invokeしないとエラーになりますね。


ところで、一つ気になったことなのですが、
今までInvokeあるいはBeginInvokeするために、
どこかのWebサイトに書かれていたコードを参考にして

    Delegate Sub delegate_SetText(i As Integer)

    Public SetText_dgl As New delegate_SetText(AddressOf SetText)

    Public Sub SetText(i As Integer)
        Form1.TextBox3.Text = i.ToString()
    End Sub


    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

        Task.Factory.StartNew(
               Sub()

                   For i = 1 To 100

                       frm.BeginInvoke(SetText_dgl, i)
                       Thread.Sleep(10)

                   Next

               End Sub)

    End Sub

のようにして書いていました。

これよりも、提示してくださった以下のコードの方が短くて良いと思います。


    Public Sub SetText(i As Integer)
        Form1.TextBox3.Text = i.ToString()
    End Sub


    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

        Task.Factory.StartNew(
               Sub()

                   For i = 1 To 100

                       frm.BeginInvoke(Sub() SetText(i))
                       Thread.Sleep(10)

                   Next

               End Sub)

    End Sub

これらのコードは同じ挙動をすると考えて良いのでしょうか?

返信 編集キー/


管理者用

- Child Tree -