- .Net4.5
参照に追加するのは Micorosoft.WindowsAPICodePack と Microsoft.WindowsAPICodePack.Shell です。追加するにはNuGetで「Windows API Code Pack - Shell」をインストールしてください(Coreもインストールされます)。
// Button1 Click Event
private async void Button1_Click(object sender, RoutedEventArgs e)
{
this.Button1.IsEnabled = false;
try
{
for (int i = 0; i < 10; i++)
{
this.TextBox1.AppendText(i + "\n");
#if true
// 非同期になるし、例外キャッチできる
await Task.Run(async () => HeavyProcess(i));
// コンパイラ警告が気になる場合は適当なawaitを追加
//await Task.Run(async () => {HeavyProcess(i); await Task.Yield();});
#else
// 非同期になるが、例外キャッチできない
await Task.Run(() => HeavyProcess(i));
#endif
}
}
catch (Exception ex)
{
this.TextBox1.AppendText(ex.Message);
}
this.Button1.IsEnabled = true;
}
// Heavy Process
void HeavyProcess(int count)
{
System.Threading.Thread.Sleep(1000);
if (count >= 5) throw new ApplicationException("例外発生!!");
}
参考URL
http://stackoverflow.com/questions/4007882/select-folder-dialog-wpf
http://arikalog.hateblo.jp/entry/2013/12/20/211641
0 件のコメント:
コメントを投稿