2009-07-17 7 views
3

ウィンドウ形式 - テキストコントロールが追加されたパネルがあります。 フォームを開くときに、最初のコントロールの近くのTOP position.ie。になるようにパネルスクロールバーが必要です。 フォームを開くと、パネルスクロールバーは最後のコントロールのBOTTOM.ie。にあります。Windows:フォームのロード時にパネルのスクロールバーをTOP位置にする方法

+0

パネルの上部に水平スクロールバーを表示するか、垂直スクロールバー内のスライダの位置を上部に設定することを意味しますか? –

+0

垂直スクロールバー –

答えて

6

負荷で、0

panel1.VerticalScroll.Value = 0にパネルのVerticalScrollプロパティを設定してみてください。

EDIT:あなたはしかし、縦スライダーはしませんが、一番上にスクロールします0に垂直スクロール値を設定panel1.AutoScroll =真

を持っていると仮定すると。

また、パネルの下部に、フォーカスを取得するコントロールがあります(パネルをスクロールする必要があります)。パネルの上部にあるテキストボックスにフォーカスを設定すると、スクロールが上に維持されます。 (しかし、その後、再び多分あなたは上部のコントロールにフォーカスを設定する必要はありません)

+0

ありがとうございました。 設定で動作します panel1.VerticalScroll.Value = 0; –

+0

が同じ問題を抱えていて、フォーカスを得ているコントロールがありました。その部分のおかげで、 – Carmine

+1

について: "しかし、垂直スライダはありません。" - これを修正するにはScrollControlIntoView()を使用してください。 prefer:https://stackoverflow.com/a/42983529/4608491 – 123iamking

6

あなたは垂直スクロールバーのためのあなたのパネルの最初の要素を選択する必要が上部に表示されます:

firstElement.Select(); 
+0

このソリューションは私のために働きましたが、panel1.VerticalScroll.Value = 0;解決策は機能しませんでしたか? –

1

I同じ問題を抱えていましたが、私自身のユーザーコントロールを持っていました。私は多くのことを試してみました。

Nomatter私はいつもVScrollバーを下に置きました。

徹底的なテストの結果、コントロールにTabStopプロパティがtrue(ユーザーコントロールの既定値)に設定されていたため、この問題が発生していました。

タブストップをに設定すると、に固定されます。

0

フォームに多数のコントロールが追加されている場合は、tabIndexプロパティを上から下に順番に設定します。トップコントロールのタブインデックスのいずれかが、ボトムコントロールのタブインデックスのいずれかのタブインデックスよりも小さい場合、スクロールバーは上部に設定されます。これで私の問題は解決しました。

関連する問題