2016-04-23 14 views
0

私はデータを保存するプログラムを持っています。フォームは、データベースクエリで見つかった各結果の読み取り専用のテキストボックスを含むパネルを作成します。フォームの自動スクロールがTrueに設定されています。ユーザーが特定のレコードの更新ボタンをクリックすると、別のフォームが開いて更新を処理します。最初のフォームでは、すべてのコントロールをクリアし、それらを再描画して更新を反映します。私の問題:再描画されたフォームのスクロールバーは常に一番上にあります。更新前にスクロールバーをスクロールして元の位置に戻したい。助けてください。スクロールバーの位置を最初に取得して設定するにはどうすればよいですか?

答えて

0

Form.HorizontalScroll.ValueForm.VerticalScroll.Valueを読み取り設定できます。
Form.HorizontalScroll.Visibleを確認することもできますが、.valueが表示されていない場合は0になるため、これは不適切です。

リコール時に最大値を超えないようにしてください。
frm.HorizontalScroll.Value = Math.Min(SavedValueH, frm.HorizontalScroll.Maximum)

ただし、scrollformがコードsee answers to this questionによって設定されている場合、Winformsにはいくつかの問題があります。

関連する問題