- - PR -
2005コンバート後の「デザイナで生成されたコード」
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-02-23 16:43
旧VB6からは作り直しが妥当ですが、2003からはコンバートが主流になるのではと思い
質問してみます。 標準のコンバータを使用すると「フォームデザイナで生成されたコード」が そのまま本体クラスへ残ります。 これから自動でDesigner.vbを作成する方法はあるでしょうか? またはそのまんまDesigner.vbへ転載すれば問題ないのでしょうか? 直接触らないという理由から2005では通常見えない場所へ移動したと思うので 自動でそうならないかなと思っています。 ・適当にやったら動かなくなった例(汗 StatusBarをStatusStripへ変更する際にもともとパネルがたくさんデザインされていたため 貼り付けしなおすと名前やプロパティの再入力が面倒だったので本件のコードを直接修正して コンパイルエラーを取り除くということをおこなった。 ところがフォームの表示時に落ちてしまい Strip系はSystem.ComponentModel.ISupportInitialize.BeginInit()が生成されず つまり存在しないメソッド呼び出しをして実行時エラーが原因だった。 #CTypeだからコンパイルエラーにならないのよねぇ。 #解決できる人はいいんだが。。。 [ メッセージ編集済み 編集者: まどか 編集日時 2006-02-23 16:44 ] | ||||
|
投稿日時: 2006-02-23 18:35
Designer.vb を見ると「触るな」って書いてありますね。 こちらが書いたソースコードをvbが認識できる自信が無いからなんでしょうか。 もっとも、僕は容赦なく触ってますし、オリジナルの様式を参考にしながら、 コピペしていぢくってます。 エラーが出ても、ゴリゴリ修正っすね。 ただ、僕は、デザイナが吐き出したコードを参考にして書いているので、 vbが理解しやすい書き方になっているのかもしれません。 #ちなみにvbからc#にコード移植してみていますが、 Designer の移植も慣れると楽だったり。 | ||||
|
投稿日時: 2006-02-24 03:58
個人的には勧めません。 追記が必要なら、(C# の場合)InitializeComponents() の後にすれば済む話です。 _________________ // 渋木宏明 (Hiroaki SHIBUKI) // http://hidori.jp/ // Microsoft MVP for Visual C# // // @IT会議室 RSS 配信中: http://hidori.jp/rss/atmarkIT/ | ||||
|
投稿日時: 2006-02-24 11:06
隠蔽する仕様になったので隠蔽したいのですがねぇ。。。
| ||||
|
投稿日時: 2006-02-24 11:29
副作用を理解していて、コンバート後のコードを移動することに異論は唱えません。 特別な理由もなく、デザイナの吐いたコードを気軽にいじるのを「勧めない」ということです。 _________________ // 渋木宏明 (Hiroaki SHIBUKI) // http://hidori.jp/ // Microsoft MVP for Visual C# // // @IT会議室 RSS 配信中: http://hidori.jp/rss/atmarkIT/ | ||||
|
投稿日時: 2006-02-24 11:46
まあ、触るなと書いてあるものを触る以上は、それなりの覚悟が必要ってことなん でしょうね。 |
1