背景画像を使用してアプリケーションの言語を変更しています。言語を変更している間、画像ボックスに gif を表示する必要があります。
私が使用するコードは次のようになります。
private void pbNL_Click(object sender, EventArgs e)
{
var bwchangelanguageNL = new BackgroundWorker();
bwchangelanguageNL.DoWork += bwchangelanguageNL_DoWork;
bwchangelanguageNL.RunWorkerCompleted += bwchangelanguageNL_RunWorkerCompleted;
bwchangelanguageNL.RunWorkerAsync();
}
void bwchangelanguageNL_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
pbLoading.Visible = false;
}
void bwchangelanguageNL_DoWork(object sender, DoWorkEventArgs e)
{
pbLoading.Visible = true;
const int countryLanguage = 1;
ChangeLanguage(countryLanguage);
}
pbNL ボタン (クリック イベント) を押しても何も起こりません。なぜ何も起こらないのですか?バックグラウンドワーカーは、ボタンのクリックで RunWorkerAsync を開始します。
gif の画像ボックスは表示されず、言語も変更されません。
編集
DoWork イベントと RunWorkerCompleted イベントの両方が呼び出されるため、イベントの呼び出しは問題になりません。