EXEプロパティで視覚テーマを無効にしても、視覚テーマが無効にならない。
対象製品
InputMan for .NET 4.0J Windows Forms Edition
発生環境
Windows XP, Windows Vista
状況
回避方法あり
詳細
この問題はEditコントロールで発生します。
以下の条件がそろったとき、本来は視覚テーマなしで表示されるべきコントロールが、視覚テーマを使用して表示されます。
1. デスクトップの設定で視覚テーマを適用している。
2. ControlEffectプロパティが"ThemeSensitive"に設定されている。
3. アプリケーションのEXEファイルのプロパティの「互換性」タブで、視覚テーマを無効にする設定を行っている。
以下の条件がそろったとき、本来は視覚テーマなしで表示されるべきコントロールが、視覚テーマを使用して表示されます。
1. デスクトップの設定で視覚テーマを適用している。
2. ControlEffectプロパティが"ThemeSensitive"に設定されている。
3. アプリケーションのEXEファイルのプロパティの「互換性」タブで、視覚テーマを無効にする設定を行っている。
回避方法
Editコントロールが配置されているコントロールが貼り付けられているフォームのLoadイベントハンドラ等において、以下のように一旦ControlEffectをThemeSensitive以外に設定し、再度ThemeSensitiveに戻すことによって回避することができます。
[VB]
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Edit1.ControlEffect = ControlEffect.Normal
Edit1.ControlEffect = ControlEffect.ThemeSensitive
End Sub
[C#]
private void Form1_Load( object sender, EventArgs e )
{
edit1.ControlEffect = ControlEffect.Normal;
edit1.ControlEffect = ControlEffect.ThemeSensitive;
}
[VB]
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Edit1.ControlEffect = ControlEffect.Normal
Edit1.ControlEffect = ControlEffect.ThemeSensitive
End Sub
[C#]
private void Form1_Load( object sender, EventArgs e )
{
edit1.ControlEffect = ControlEffect.Normal;
edit1.ControlEffect = ControlEffect.ThemeSensitive;
}
キーワード
INMN06799
この文書は、以前は次のバグレポートIDで公開されていました : 7562