人気ブログランキング | 話題のタグを見る
(VB.Net)テキストボックスでマウスオーバー時に背景色が変わってしまうバグ
下記の手順でテキストボックスでマウスオーバー時に背景色が変わってしまうバグを発生できます。
1.TabControl の上に GroupBox を乗せ、その上に TextBox を配置します。
2.その TextBox のプロパティで、Multiline=True , ScrollBars=Both にします。
3.そして、TabControl , GroupBox の背景を Transparent にします。
4.この状態で、Windows Vista でテーマを Aero か Vistaベーシックにします。
5..Net Frameworkは3.5 (サービスパックは未適用)です。

これで、TextBoxの上をマウスオーバーすると、、、
(VB.Net)テキストボックスでマウスオーバー時に背景色が変わってしまうバグ _e0091163_1585876.jpg

というように、TextBoxの背景がTabControlで描画している背景色と同じになってしまいます。
もちろんTextBox内に書かれている文字列も塗りつぶされて表示されません。

このおかしな表現のTextBoxをクリックすると、
(VB.Net)テキストボックスでマウスオーバー時に背景色が変わってしまうバグ _e0091163_15914100.jpg

というように文字列が表示されます。(それでも一部描画がおかしいですが。。)

これは解決するのにかなり悩みました。
しかし同様の問題に悩まされている方はいたらしく、C# と VB.NET の質問掲示板でもあがっていました。
結局、.Netのバグの路線が強いみたいです。

.Net Framework3.5のSP1ではこのバグは修正されたらしく、SP1適用すると発生しませんでした。

(実はTabControl,GroupBoxはInfragistics社のNetAdvantage for .NETの UltraTabControl,UltraGroupBoxを使ってたのですが、これらも結局、標準のコントロールを継承してるため、同様のバグが発生しました。)

.Net Frameworkほど膨大なクラスライブラリになると巨大だからなかなか難しいんでしょうが、それでもUIにかかわるバグはなくしてほしいですよね。
by jehoshaphat | 2008-12-15 01:59 | .Net開発


<< (SQL)顧客毎に日別で売上回... (WEB)Webページの表示し... >>