Form#Flash()の行方
GUIフレームワークやライブラリィを作っている時に必ず必要になるものに「確認用ダイアログ」がある。
別にMessageBoxを使用しても良いのだが(実際、最初はMessageBoxを使用していたりする)途中から要求が拡大したり余計な処理が必要になったりして結局はFormクラスを拡張した共通のダイアログを開発したりする。(この辺はVBやDelphiの時から全く進歩がないなぁ)
確認ダイアログの要件としてShowされる時にはできるだけオペレータの気を引くためにキャプションを点滅させる、というものがある訳だがVS2005β1(C#2.0)では以下のようにロードイベントに一発書けば実現できる。
private void InformationDialog_Load(object sender, EventArgs e) { this.Flash(); }
この要件は代々(?)Win32APIで実現してきた部分だったので「ついに一般的なメソッドになったかー!! GJ!!」と喜んでいたのだがどうもβ2以降ではまた廃止されるらしい。(らしい、というのは一瞬インストールしていたVS2005のCTP,NovかCTP,Decでそうだったから)
またP/Invoke使えですか、あーそうですか。