「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-[[戻る>.NET開発]]
--[[Windows Forms]]
--[[ASP.NET Web Forms]]

* 目次 [#saeda4c1]
#contents

*概要 [#y96c33bc]
VSデザイナにはいくつか問題がある。
VSデザイナには

>デザイン時にコードが実行されることにより、

幾つか問題が発生し得る。

*問題 [#ne54d5c1]
**32bit、64bitの問題 [#k4d5cdd7]
VSデザイナはVisual Studioの32bitプロセス中で動くので、~
VSデザイナから実行されるコード中で、64bitのDLLをロードできない。

-継承フォームを作成しようとするとデザイナーがエラーとなる。~
https://social.msdn.microsoft.com/Forums/vstudio/ja-JP/b3914f86-7a4a-44e8-9abc-caa0a8dfeda1?forum=csharpgeneralja

**デザイン時に使用できる値が限られる。 [#saf04f73]
デザイン時に使用できる値は、実行時に使用できる値と異なる。

-アプリケーションが実行されていないので、~
共有メモリやグローバル変数などのデザイン時に読むことはできない。

-デザインタイム・プロパティ([[Open棟梁のカスタムコントロールのチェック属性のような>https://opentouryo.osscons.jp/index.php?%E3%83%90%E3%83%AA%E3%83%87%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E6%A9%9F%E8%83%BD%E4%BB%98%E3%81%8D%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%20%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%AB]])は利用可能。

-[[app.config>.NET config#e51676cd]]の値については、以下のようにデザインタイムで利用可能であるもよう。
--デザイン時に指定したDBのパス名を実行時に変更する方法 - Insider.NET - @IT~
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=47969&forum=7
--外部ファイルにコントロールのプロパティを格納する: .NET Tips: C#, VB.NET~
http://dobon.net/vb/dotnet/programing/dynamicproperties.html

**コントロールの動的追加・削除処理の問題 [#s330b457]
(子コントロールを持つFormやカスタム コントロールの)~
子コントロールを生成する処理を、コンストラクタに実装した場合、~
デザイン時と実行時の表示が乖離する現象が発生する。

-[[コンストラクタで子コントロール追加すると二重追加される件]]

*対策 [#x0d000bd]
下記のような対策の方法がある。

**参考 [#tbf83cd0]
-Windowsフォームのデザイン時に非実行のコードを書くには - Insider.NET - @IT~
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=15316&forum=7

-.NET:Tips > デザイン:デザイン時に処理を実行させない - YiaoWang~
http://yiaowang.web.fc2.com/programing/vs_tips/design_04.html

----
Tags: [[:.NET開発]], [[:UIサブシステム]], [[:Windows Forms]], [[:ASP.NET Web Forms]]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS