Winformでローディング中のエフェクトを実装するにはどうしたらいいですか

ローディング効果を実現するには、以下の方法があります。

  1. ProgressBarコントロールを利用する場合、ProgressBarコントロールをフォームに追加して、Visibleプロパティをfalseに設定しておきます。データの読み込み前にはProgressBarコントロールのVisibleプロパティをtrueにすることで読み込み開始を表します。読み込みが完了したら、Visibleプロパティをfalseにして読み込み完了を表します。
private void btnLoad_Click(object sender, EventArgs e)
{
    progressBar1.Visible = true;
    // 加载数据
    // ...
    progressBar1.Visible = false;
}
  1. BackgroundWorkerコントロールを使用:BackgroundWorkerコントロールをフォームに追加し、DoWorkイベントとRunWorkerCompletedイベントを処理します。DoWorkイベントでデータロード処理を実行し、RunWorkerCompletedイベントでロード後の処理を実行します。
private void btnLoad_Click(object sender, EventArgs e)
{
    backgroundWorker1.RunWorkerAsync();
}

private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
    // 加载数据
    // ...
}

private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
    // 加载完成后的操作
    // ...
}
  1. 非同期メソッドを活用する: asyncとawaitキーワードを使用してデータのロード処理を非同期メソッドにして、ローディング中のヒント情報を示すLoadingコントロール(LabelやPictureBoxなど)を利用する。非同期メソッドでデータロード処理を行い、ロード完了時にLoadingコントロールの表示を更新します。
private async void btnLoad_Click(object sender, EventArgs e)
{
    lblLoading.Visible = true;
    // 加载数据
    await LoadDataAsync();
    lblLoading.Visible = false;
}

private async Task LoadDataAsync()
{
    await Task.Run(() =>
    {
        // 加载数据
        // ...
    });
}

一般的に使用されるローディング効果を実装する方法をいくつか示したので、状況に応じて適切な方法を選択してください。

bannerAds