6

私は winfom アプリケーション c# に取り組んでいます。と という 2 つのフォームがWelomeありDetailsます。詳細には、パネルに 7 つのグリッドが含まれています。

シナリオ: ウェルカム ページのいずれかの項目をクリックすると、7 つのグリッドがある [詳細] ページが表示されます。スクロール バーを下にドラッグし、ウェルカム フォームに戻った後に戻っても、スクロール バーは同じ位置に留まります。

質問: ユーザーが詳細フォームにアクセスするたびにスクロール位置を一番上にリセットして、常に最初のグリッドが表示されるようにしたいと考えています。

4

4 に答える 4

22

AutoScrollに設定true

panel1.AutoScroll = true;

そして、詳細フォームのloadイベントで、VerticalScroll

panel1.VerticalScroll.Value = 0;
于 2012-06-14T10:08:17.767 に答える
2

Angshuman Agarwal の回答がうまくいかない場合、原因は、ロード後にフォーム内の一部のコントロールがフォーカスを受けている可能性があります。これにより、スクロールして表示され、スクロール位置への変更が上書きされます。

false に設定することもできTabStopますが、フォームはタブ可能ではありません :(

不格好な回避策ですが、それでも比較的簡単な修正方法は、フォームの最初のコントロールに手動でフォーカスを当てることです。

yourFirstControl1.Select();

参照:フォームのロード時にパネルのスクロール バーを TOP の位置にする方法

于 2019-11-26T17:45:06.223 に答える