|
分類:[C#]
Visual Studio 2005でC#で開発しています。 DataGridViewが設置されたFormが十数個あります。 それぞれ、カラムがあったりなかったり、背景色や、ヘッダサイズなどをForm個別に指定しています。 コーディングがある程度進んだ段階で、すべてのDataGridViewに共通機能を持たせるため、 DataGridViewの派生クラス(MyDataGridView)を作成し、置き換えることになりました。
しかし単純にデザイナで削除して、ツールボックスから派生クラスのコンポーネントを貼ると、 それまでDataGridViewに施していた設定が消えてしまいます。
そこで「hoge.Designer.cs」を開き、以下の2箇所を「hoge.MyDataGridView」に置換しました。 ・InitializeComponent()でSystem.Windows.Forms.DataGirdVewをnewしている箇所 ・末尾でprivateフィールドとしてSystem.Windows.Forms.DataGirdVewを宣言している箇所 上記置換を行ってからビルドすると、希望通り各Formへの個別設定を保持したまま、 DataGridViewをMyDataGridViewに置き換えることができました。 今のところ編集した箇所がDataGridViewに戻ったりすることは起きていません。
質問です。 (1)上記の手順は邪道でしょうか? (2)勝手にMyDataGridViewに置き換えた箇所がDataGridViewに戻ることは起こりえるのでしょうか? (3)上記手順でDesigner.csを編集したことで何か不具合が起こることはあるのでしょうか?
|