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

ツールバーのアイコンが表示されない

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

いつもお世話になっています。

ツールバーのボタンに、ImageListで設定したアイコンを表示しています。
このプロジェクトのファイルを丸ごと別フォルダに移動したところ、実行
時にツールバーのアイコンが表示されなくなってしまいました。
(デザイン時には表示されています)

ImageListを作り直してアイコンの設定をやり直してみましたが、やはり
実行時にアイコンが消えてしまいます。

どなたかこの現象の回避方法をご存じないでしょうか。
よろしくお願いいたします。
2004/08/31(Tue) 13:57:34 編集(投稿者)

■No5930に返信(ぱるさんの記事)

こんにちわ、ぱるさん。

> いつもお世話になっています。
>
> ツールバーのボタンに、ImageListで設定したアイコンを表示しています。
> このプロジェクトのファイルを丸ごと別フォルダに移動したところ、実行
> 時にツールバーのアイコンが表示されなくなってしまいました。
> (デザイン時には表示されています)
>
> ImageListを作り直してアイコンの設定をやり直してみましたが、やはり
> 実行時にアイコンが消えてしまいます。
>
> どなたかこの現象の回避方法をご存じないでしょうか。
> よろしくお願いいたします。

同じように試したのですが、そのような現象は起きませんでした。
ImageListのコレクションに設定されているファイルが、
ソリューション配下にあろうとなかろうと起きませんでした。
(通常は相対パスではなく、絶対パスになっているから当たり前ですが...)

ソリューション配下ごとコピーしているのだったら、
Formのリソース内容を保存する「.resxファイル」も問題なく同期とれてるでしょうし...

# 心配なら、resxファイル内の<data name="imageList1.ImageStream">タグ配下の
# <Value> 内を確認してみてください。


> ImageListを作り直してアイコンの設定をやり直してみましたが、やはり
> 実行時にアイコンが消えてしまいます。

ImageListコントロールを消して張り替えてもダメなのは変ですね。
ImageListを消去して、配置しなおして、イメージを追加してから、
ToolBarのImageListプロパティを選択しなおしてもダメだったのですよね?


> (デザイン時には表示されています)

ちなみに、そのFormのデザイナ側を完全に閉じてから、Formのソース側を適当に変更して、
開きなおしても、デザイン時には表示されていますか?


# もしかしたら、普通にVS.NETのバグなのかも...
■No5931に返信(java.lang.Nullpoさんの記事)

java.lang.Nullpoさん、ご回答ありがとうございます。

> ImageListコントロールを消して張り替えてもダメなのは変ですね。
> ImageListを消去して、配置しなおして、イメージを追加してから、
> ToolBarのImageListプロパティを選択しなおしてもダメだったのですよね?

はい。そのような操作を行いました。

> ちなみに、そのFormのデザイナ側を完全に閉じてから、Formのソース側を適当に変更して、
> 開きなおしても、デザイン時には表示されていますか?

こちらはデザインを開きなおしても、やはり表示されています。


その後確認したところ、同じプロジェクト内にフォームを追加し、
そのフォームにツールバーとイメージリストを新規に追加し確認
して見たところ、やはりデザイン時に表示され、実行時に表示さ
れない状態でした。
別プロジェクトを作成してみて、新規にフォームを作成した場合
は、問題なく実行時にも表示されます。

謎です。
■No5930に返信(ぱるさんの記事)
> ツールバーのボタンに、ImageListで設定したアイコンを表示しています。
> このプロジェクトのファイルを丸ごと別フォルダに移動したところ、実行
> 時にツールバーのアイコンが表示されなくなってしまいました。

全く同じか分かりませんが、過去ログに同じような質問があります。

ツールバーのアイコンが表示されない
http://dobon.net/vb/bbs/log3-4/2088.html
■No5945に返信(管理人さんの記事)
>
> 全く同じか分かりませんが、過去ログに同じような質問があります。
>
> ツールバーのアイコンが表示されない
> http://dobon.net/vb/bbs/log3-4/2088.html


過去ログに載っていた記事で、解決が図れそうです。
まずは過去ログを検索すべきでしたね。
申し訳ありません。

原因としては、WindowsXPスタイルのインタフェースに対応するために
WinEnableVisualStylesを使用していたことにあるようです。
(ソースを移動させたことで表示ができなくなってしまったことは謎ですが。。)

WinEnableVisualStylesの使用をやめ、マニフェストファイルを用意することで
対応しようと思います。

皆さま、ありがとうございました。
解決済み!

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