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

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

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.102263 の関連記事表示

<< 0 >>
■102263  Re[2]: 時間のかかる処理の進行状況の表示について
□投稿者/ ゆい -(2023/08/09(Wed) 17:56:36)
    No102261 (WebSurfer さん) に返信
    
    > 以下は質問に対する直接的な答えではないです。
    とのことですが、、DisableAllButtons()とEableAllButtons()は、
    「宣言されていません。アクセスできない保護レベルになっています。」が出ましたので削除はしましたが正常に動きました。
    おっしゃるように、短文でもありますのでこちらの方が良さそうです。
    
     ----------------------------------------------------
        Private Async Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
            'DisableAllButtons()   '<--- 宣言されていません。アクセスできない保護レベルになっています。
    
            Label1.Text = "処理中…"  ' ToolStripStatusLabel1.Text = "処理中…"
            ProgressBar1.Value = 0    'ToolStripProgressBar1.Value = 0
    
            ' Progressクラスのインスタンスを生成
            Dim p = New Progress(Of Integer)(AddressOf ShowProgress)
    
            ' 時間のかかる処理を別スレッドで開始
            Dim result As String = Await Task.Run(Function() DoWork(p, 100))
    
            ' 処理結果の表示
            Label1.Text = result     '  ToolStripStatusLabel1.Text = result
            ProgressBar1.Value = 100 '  ToolStripProgressBar1.Value = 100
            MessageBox.Show("正常に完了")
    
            'EableAllButtons()   '<--- 宣言されていません。アクセスできない保護レベルになっています。
        End Sub
    
        ' 進捗を表示するメソッド(これはUIスレッドで呼び出される)
        Private Sub ShowProgress(percent As Integer)
            Label1.Text = percent & "%完了"
            ProgressBar1.Value = percent
        End Sub
    
        ' 時間のかかる処理を行うメソッド(進捗付き)
        Private Function DoWork(progress As IProgress(Of Integer), n As Integer) As String
            ' 別スレッドで実行されるため、このメソッドでは
            ' UI(コントロール)を操作してはいけない
    
            ' 時間のかかる処理
            For i As Integer = 0 To n - 1
                System.Threading.Thread.Sleep(100)
    
                Dim percentage As Integer = i * 100 \ n ' 進捗率
                progress.Report(percentage)
            Next
    
            ' このメソッドからの戻り値
            Return "全て完了"
        End Function
    
記事No.102260 のレス /過去ログ178より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -