DOBON.NET DOBON.NETプログラミング掲示板過去ログ

モーダルフォームの解放時のちらつきを無くしたい。

環境/言語:[C#1.1]
分類:[.NET]

こんにちは。フォームをShowDialogメソッドで開いた物を解放する時画面がチラつくのですが抑える方法はないでしょうか?ダイアログフォームのClosingイベントにフォームを閉じた時解放するよう記述しています。

f:ダイアログフォーム

f_Closing(---)
{
   this.Dispose();
}

form f = new form();

if(f.ShowDialog() == DialogResult.OK)
{
   //フォーム:fのプロパティから何らかの値を取得する処理を記述しています。
   //fはDialogResultがOKなら閉じるようになっています。
   string strhoge = f.GetHoge;
}
とりあえずDisposeはthisでするものではありません。

using(form f = new form())
{
if(f.ShowDialog())
{
string strhoge = f.GetHoge;
}
}
これで、あとはダイアログ側で、閉じていいときに

this.DialogResult = DialogResult.OK;

ってやればOKです。
(>_<)そうですね、そういうのありますね。
自動的にtry,finallyを作ってくれるってやつですよね?
どうもありがとうございました。

■No15308に返信(中博俊さんの記事)
> とりあえずDisposeはthisでするものではありません。
>
> using(form f = new form())
> {
> if(f.ShowDialog())
> {
> string strhoge = f.GetHoge;
> }
> }
> これで、あとはダイアログ側で、閉じていいときに
>
> this.DialogResult = DialogResult.OK;
>
> ってやればOKです。

DOBON.NET | プログラミング道 | プログラミング掲示板