2012-01-10 21 views
0

私の会社のアプリケーションのUIの更新作業が始まりましたが、問題が発生しています。親コントロールにはいくつかのパネルがあり、それぞれのパネルはユーザーの入力に応じてオンまたはオフにすることができます。子のサイズ変更イベントから親コントロールのサイズを変更

ユーザーコントロールの最後のパネルには、トグルスイッチに従ってサイズ変更される別のユーザーコントロールが含まれています。本質的に、それはより多くの情報を「開く」。

子コントロール(ChildControl)が親コントロール(ParentControl)内のFillにドッキングされている間、ChildControlに高さを追加するとParentControlの高さも更新されません。現在、ParentControlのChildControl.Layoutイベントを処理していますが、そのコードに到達できないようです。 ChildControlのサイズを変更するには、ChildControl.vbでMe.Height += 200を呼び出しています。

私はこれが間違っていると信じていますが、MSDNはあまり役に立ちません。すべての助けをありがとう。

+2

あなたは間違いなくDockを使いたくないので、コントロールが親のサイズに従わなければなりません。親はAutoSize = TrueおよびAutoSizeMode = GrowAndShrinkを持つ必要があります。そのため、子コントロールに従います。 –

+0

私はできると思います...私はTelerikコントロールの3年前のリリースを使用しています。コントロールは 'RadGroupBox'の内部にドッキングされています。どうやらそれは 'AutoSizeMode'をサポートしていません。私たちが最終的にこのことを再構築するまで待つことはできません。 – EHorodyski

+0

私はあなたのアドバイスを取って、ドックを取り除いた。 'AutoSizeMode'がなくてももっとうまく動作します。 – EHorodyski

答えて

1

ChildControl.Resizeイベントをお試しください。

私の答えはC#です。しかし、それは同じように動作する可能性があります。

+0

私はChildControl.Layout'とChildControl.SizeChanged'イベントを 'ParentControl.vb'から呼び出すことを試みました – EHorodyski

+0

@DrFeelgood" ChildControlに高さを加えると... "それが 'Fill'にドッキングされていると、なぜあなたはそれをしていますか?たぶん、最初にドッキング解除する必要があります。 C#では 'label1.Dock = DockStyle.None; 'です。 – ispiro

+0

@DrFeelgood私はちょうどフォームの 'Dock'と' Resize'イベント_did_ fireを 'Dock'しましたが、' Height'は同じままでした(ドッキングされているので私は仮定します)。 – ispiro

関連する問題