0

ユーザー コントロールが に追加されたときに発生するイベントはありFormますか? Parentユーザーコントロールのコントロールのサイズを取得するには、これが必要です。

しかし、ユーザーコントロールが初期化されると、Parent = null. ユーザー コントロールがまだフォームに追加されていないためです。したがって、この時点で親コントロール (フォーム) を取得できません。

そのため、後でユーザー コントロールのサイズを変更する必要があります。

4

3 に答える 3

1

You can try using the Control.ParentChanged event. This will fire whenever the parent of the control is changed, so you can check if the parent is the form and then continue with how you want to react.

Alternatively, you can use the Control.ControlAdded event.

于 2012-10-24T11:18:05.770 に答える
1

There is a ParentChanged event that all Controls inherit. In the event handler method you can inspect the Parent property, which will be set to the new parent at that point.

于 2012-10-24T11:18:06.817 に答える
1

フォームに ControlAdded イベントがあり、InitializeComponent() で初期化されます。ほとんどの場合、このイベントはコンポーネントの追加後に適切に配置されます。フォームに UserControls を追加する前に配置すると、コンポーネントを追加するたびにイベントが発生します。

コードビハインドでそのような特定の制御が必要なユーザーコントロールを追加し、イベントハンドラーを移動しないことをお勧めします。

これを行うと、親をユーザーコントロールに追加して、必要な情報を提供できます。

var textBox = new TextBox {Parent = this};
于 2012-10-24T11:24:32.203 に答える