C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: Visualスタイルの適用可否をウィンドウ毎の指定について


(過去ログ 88 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■52254 / inTopicNo.1)  Visualスタイルの適用可否をウィンドウ毎の指定について
  
□投稿者/ キーサン (7回)-(2010/08/04(Wed) 13:15:36)

分類:[C#] 

某メーカーのライブラリを使用してC#2008でプログラミングしています。

その中で、そのライブラリを使用したウィンドウで、そのライブラリの
アイコンが表示されないということが発生しました。
それをメーカーに聞くと、

>C#の場合:
>program.cs の Application.EnableVisualStyles() をコメントア
>ウトしてください。

と回答が帰ってきました。
確かに、それでアイコンが消えることはなくなりました。

ところが、そうすると当然Visualスタイルが適用されなくなり、
見栄えが悪くなってしまいました。
visualスタイルが悪さをしているのは、アプリケーションの中で
1このウィンドウだけなんです。メインのウィンドウはvisualスタイルが
適用されていても何の問題もありません。

従って、問題のあるウィンドウだけvisualスタイルをやめるか、
問題がないウィンドウはvisualスタイルを適用するかしたいのですが、
ウィンドウ毎にvisualスタイルを適用したり、適用しなくしたりすること
は可能でしょうか。

よろしくお願いします。

引用返信 編集キー/
■52256 / inTopicNo.2)  Re[1]: Visualスタイルの適用可否をウィンドウ毎の指定について
□投稿者/ 魔界の仮面弁士 (1731回)-(2010/08/04(Wed) 13:28:01)
No52254 (キーサン さん) に返信
> ウィンドウ毎にvisualスタイルを適用したり、適用しなくしたりすること
> は可能でしょうか。

そのウィンドウだけ、別EXEにするというのは如何でしょう。
引用返信 編集キー/
■52258 / inTopicNo.3)  Re[2]: Visualスタイルの適用可否をウィンドウ毎の指定について
□投稿者/ キーサン (9回)-(2010/08/04(Wed) 14:10:04)

ご回答ありがとうございます。

> そのウィンドウだけ、別EXEにするというのは如何でしょう。

そのウィンドウは、既に読み込んだデータの編集画面でして、
別exeにするというのは難しいように感じます。

基本的には、ウィンドウ毎にvisualスタイルを適用可否を
決めると言うのはやっぱり難しいのでしょうか・・・。
引用返信 編集キー/
■52271 / inTopicNo.4)  Re[3]: Visualスタイルの適用可否をウィンドウ毎の指定について
□投稿者/ キーサン (10回)-(2010/08/04(Wed) 19:47:05)
ウィンドウ毎にVisualスタイルを変更するのは難しいんですね・・・。

ということで、いろいろやりまして次のようにしたら我慢できる程度にはなりました。

Application.EnableVisualStyles() をコメントアウトせずに、
該当するウィンドウのLoadイベントで、

//Visualスタイルをやめる
Application.VisualStyleState =
System.Windows.Forms.VisualStyles.VisualStyleState.NoneEnabled;
// Repaint the form and all child controls.
this.Invalidate(true);
//書き替え待ち
Application.DoEvents();

を入れて、Shownイベントで

//スタイルを元に戻す
Application.VisualStyleState =
System.Windows.Forms.VisualStyles.VisualStyleState.ClientAndNonClientAreasEnabled;
// Repaint the form and all child controls.
this.Invalidate(true);

としましたら、一瞬Visualスタイルが適用されていない画面が表示されますが、
すぐに戻るので、カッコ悪くはなくなりました。
面倒ですね・・・。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -