2

ここから、を作成しBaseForm、そのすべてのBaseForm.Designer.cs privateメンバーをに設定しましたprotected。次に、視覚的に継承/派生しFormました。

Formこれで、を除く設計時に派生したすべてのコントロールのサイズを変更または変更できるようになりましたDataGridView。でロックされていなくてもDataGridView、派生でロックされていることがわかります。FormBaseForm

理由は何ですか?もう一度何を確認/確認する必要がありますか?

私はこのような基本フォームを持っています:代替テキスト

そして、私はこのようなフォームを導き出しました:代替テキスト

4

3 に答える 3

1

既知の問題です。

https://connect.microsoft.com/VisualStudio/feedback/details/284335/designer-prevents-access-to-protected-datagridview-control-in-inherited-form

ユーザーコントロールクラスを作成し、DataGridViewクラスから派生させることができます

[Designer(typeof(System.Windows.Forms.Design.ControlDesigner))]
public class MyDataGridViewUserControl : DataGridView { }
于 2013-11-27T09:38:41.863 に答える
0

VSデザイナは基本クラスからのコントロールをロックしていると思います。同じ初期化コードがあるため、基本クラス内のグリッドのプロパティを変更します。これは、他のすべての派生フォームに影響します。

グリッドのプロパティを変更する場合は、動作が異なるため、子フォーム用に個別のグリッドを用意することをお勧めします。

于 2010-10-22T15:37:27.443 に答える
0

一部の.NETコントロールに問題があるようです。ここに良い文章があります:

継承されたUserControlでロックされたDataGridView

于 2013-11-27T09:28:46.450 に答える