2009-07-14 7 views
1

私は単にTHISwinformsデザイナーファイルを変更することはできますか?

Class UserControlBase 
    Inherits UserControl 
End Class 

は、その後、私は、私は、一般的に手動国防省はならないことを知っている

Inherits UserControlBase 

に私のUserControlのデザイナーのファイルのそれぞれに継承句を変更したクラスを作成しましたデザイナーファイル。しかし、このような場合は、他に何ができますか?これでいい?私が知らないベストプラクティスはありますか?同じエンド(UserControlを拡張)を達成するための他の方法がありますか?

答えて

3

私は、継承ラインを変更したり、名前空間を追加したり、インポート/使用ステートメントを追加することはできませんでした。これらの3つのうちのどれかを実行する必要がある場合、これらの要件を処理する他の多くの方法はありません。

+0

Chris、 答えていただきありがとうございます。私が変更していることを特に言及しているので、答えのフラグがあります。名前空間とインポート。いい答えだ。 ジョエルもあなたの答えに感謝します。私が探していた重要なことは、自分の経験を確認する経験を持つ人のためでした。私のより限定された経験では、名前空間と輸入の変更は成功しましたが、私はそれが固執するかどうか確信がありませんでした。 ありがとうございます。 Seth –

2

私はC#プロジェクトで常時変更しています...デザイナーで一度行ったことを同様の形式に複製するのが最も簡単な方法ですし、別のフォームで同じことをしたいことがよくあります。 Visual Studioは、変更内容を読み込み、デザイナーに組み込むことができます。私は実際にそれを編集しないと言うコメントがなぜあるのか分からない。私のアドバイスは、あなたがソースコントロールを使用していることを確認し、それを編集して、それをうまくテストし、それがうまくいくかどうかを確認するだけです。

1

いいえ生成されたファイルを変更することは決してお勧めできません。

+0

これはわかりやすいですが、設計時に互換性のある変更を行っている場合は、Designerファイルの内容を変更することは安全です。生成されたファイルの中には、(DataSetsの生成コードファイルのような)変更を捨てるものもありますが、デザイナーは変更を保存します(再フォーマットと並べ替えを行いますが、コードの本質は変わりません)。 – STW

+0

それはいつも危険だった。設計者の前提は文書化されていない。ちょっと違うことをして、あなたの変更を一掃します。私は.NET 1.0以降これを扱ってきました。これらのファイルを変更することを強くお勧めします。 –

+0

あなたのデザイナーのファイルに何をするのか分かりませんが、手動で変更することは一度もありませんでした。 – john

1

Designerファイルはかなりシンプルなコードです。問題を複雑にするためには(通常はわずかですが)、ファイルの上下にあるBeginInit/EndInitコールがあります。コード間ではかなり寛大です。

*つまり、ではないは、実行時にのみ実行されるコードをそこに配置します。実行時に依存するコードはすべてデザイン時には失敗するため、コントロールをデザインビューで開くとチャンクが壊れてしまいます。 Red Screen of Darnを使用していましたが、IDEには何の効果がないのかよくわかりませんが、もしも事が爆発し、通常のテクニックでは解決できない場合は、カスタマイズしたセクションを削除してみてください。

あなたのコードがRuntimeまたはDesigntimeで実行されているかどうかを判断する手段は、あなたのコードがコードの一部でない場合には失敗することがよくあります(恐れてはいけません。現在構築されているソリューション/プロジェクト。

これを家に持ち帰るために、簡単なUIレイアウト/ winformsの変更は、デザイナーコードで手作業で行うのはまったく問題ありません。データバインディングと外部依存(第三者のコントロールライブラリを呼び出す場合を除く)には、慎重にアプローチする必要があります。

関連する問題