- PR -

ソリューションエクスプローラでフォームを複製するとエラーになる。

投稿者投稿内容
だんじり
大ベテラン
会議室デビュー日: 2007/08/10
投稿数: 155
お住まい・勤務地: 神奈川県
投稿日時: 2007-09-01 13:32
れいさん、KIさん
色々、ご指導ありがとうございます。結局のところソリューションエクスプローラー
でフォームの複製に関して、次のことに注意が必要なことが理解できました。

1.単純にコピーAnd ペーストではうまくいかないこと
2.Editionが余計な気を利かせて、同一Project内では うまくいかないことがある
3.コピー後のクラス名が重複するので修正する必要があること

どちらにしてもフォームの複製は厄介な作業ですね。
色々ご指導いただき、本当にありがとうございました。


ぼのぼの
ぬし
会議室デビュー日: 2004/09/16
投稿数: 544
投稿日時: 2007-09-02 00:29
引用:

だんじりさんの書き込み (2007-09-01 13:32) より:
れいさん、KIさん
色々、ご指導ありがとうございます。結局のところソリューションエクスプローラー
でフォームの複製に関して、次のことに注意が必要なことが理解できました。

1.単純にコピーAnd ペーストではうまくいかないこと
2.Editionが余計な気を利かせて、同一Project内では うまくいかないことがある
3.コピー後のクラス名が重複するので修正する必要があること

どちらにしてもフォームの複製は厄介な作業ですね。
色々ご指導いただき、本当にありがとうございました。






こんばんは。
私の場合、2.が嫌で最初っからソリューションエクスプローラでコピーすることは絶対しません。
VS上で「名前が衝突している状態」をたとえ一時的にでも作りたくないのです。
なのでKIさんが少し触れているように、必ずエクスプローラとVS以外のテキストエディタを使います。
具体的には、

(1)エクスプローラでForm1.vbとForm1.Designer.vbをコピーして
  ファイル名をForm2.vbとForm2.Designer.vbに変更
(2)テキストエディタでコピーしたファイルを開いてクラス名を変更
(3)VSでプロジェクト−既存項目の追加から、コピーしたファイルを追加

の手順です。
だんじり
大ベテラン
会議室デビュー日: 2007/08/10
投稿数: 155
お住まい・勤務地: 神奈川県
投稿日時: 2007-09-02 08:37
ぼのぼのさん。書き込みありがとうございました。

なるほど、KIさんも言われていましたが、エクスプローラで
Form1.vbとFom1.Designer.vbを一旦別の場所にコピーし、この
ファイル名をForm2.vbとForm2.Designer.vbに変更する。続いて
VS以外のテキストエディタでクラス名を変更するのですね。

Form2.vbとForm2.Designer.vbをソリューションエクスプローラ
への戻し方は「プロジェクト」メニュの「既存項目の追加」ですか
勉強になりました。また「VS上で例え一時でも名前が衝突してい
る状態を作りたくない」とのお話、あの恐ろしいエラー状況を
みると私も同感です。

ぼのぼのさんの考え方もご披露いただきありがとうございました。


スキルアップ/キャリアアップ(JOB@IT)