血圧アプリその5

Webアプリのボタンを大きくした。

bloodappli030

そして処理中ダイアログ出してみた。

bloodappli031

適当に作ったけど・・・

VSTOだとDoEventsとかしなくても平気なようだ。

[csharp]
// 処理中ダイアログ
WaitDialog waitDialog = new WaitDialog();
bool doWork = true;
new Thread(new ThreadStart(() =>
{
if (waitDialog.ShowDialog() != System.Windows.Forms.DialogResult.OK)
doWork = false;
})).Start();

// プログレスバー最大値
waitDialog.Invoke(new System.Windows.Forms.MethodInvoker(() =>
{
waitDialog.Max = data.Count;
}));

foreach(var day in data)
{
// プログレスバー更新
waitDialog.Invoke(new System.Windows.Forms.MethodInvoker(() =>
{
waitDialog.Value++;
}));

// 処理中ダイアログが閉じられたら処理中断
if (!doWork)
break;

:
:
:

}
[/csharp]

コメントを残す

%d人のブロガーが「いいね」をつけました。