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

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

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

Re[3]: デザイナ起動時の例外処理


(過去ログ 67 を表示中)

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

■39204 / inTopicNo.1)  デザイナ起動時の例外処理
  
□投稿者/ デザパタ大好きっ子 (34回)-(2009/07/31(Fri) 13:31:48)

分類:[.NET 全般] 

こんにちは、いつもお世話になっています。

VisualStudioのデザイナはデザイン画面の構築の際、そのFormのコンストラクタやLoadイベントを読み込むようです。
またこのとき、必要なアセンブリもロードされているようです。

実はその別アセンブリでApplication.StartupPathなどを利用しているんですが、このパスがVisualStudioの実行ファイルであるdevenv.exeの
場所を指しており、実際にアプリケーションを実行するときのパスと異なるため、具合が悪い状態となっています。

具体的には実行ファイルのある場所にフォルダを作成するのですが、VistaだとUACが働き、VisualStudioがインストールされたフォルダ(c:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE)にアクセスできないため、例外が発生します。
つまり、デザイン画面が表示できなくなります。

現状ではその別アセンブリ側で例外を握りつぶすまたはUACを切るといった形で対処しているのですが、「VisualStudioから実行しているなら・・・」みたいな条件分岐をさせた方が良いかなと思う次第です。

これがわかるフラグはあるでしょうか?また代替手段があれば教えてください。

引用返信 編集キー/
■39205 / inTopicNo.2)  Re[1]: デザイナ起動時の例外処理
□投稿者/ nori (75回)-(2009/07/31(Fri) 13:47:15)
『デザイナーで開いているか』という事が知りたいのでしょうか?
そうであれば、Component.DesignModeで判断できます
引用返信 編集キー/
■39227 / inTopicNo.3)  Re[2]: デザイナ起動時の例外処理
□投稿者/ デザパタ大好きっ子 (35回)-(2009/07/31(Fri) 22:23:36)
No39205 (nori さん) に返信
> 『デザイナーで開いているか』という事が知りたいのでしょうか?
> そうであれば、Component.DesignModeで判断できます

おお、まさしく望んでいたものです。
noriさん、ありがとうございます。
解決済み
引用返信 編集キー/
■39231 / inTopicNo.4)  Re[3]: デザイナ起動時の例外処理
□投稿者/ Azulean (430回)-(2009/08/01(Sat) 00:02:12)
念のため。

ユーザコントロールの中にユーザコントロールを置いた場合等、DesignMode が期待する値と異なることがあり得ます。
(何を期待するか次第ですが...)

http://support.microsoft.com/kb/839202/en-us
http://social.msdn.microsoft.com/Forums/ja-JP/csharpexpressja/thread/d946a597-0ba4-4880-b99b-13c728e2f39f
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -