2

コントロールのセットを動的に作成する VB.NET フォームがあります。フォームに表示するコントロールが多すぎる場合、フォームにスクロール バーが表示されます。(自動スクロール形式です。)

ユーザーは下にスクロールしてボタンをクリックすると、フォームが劇的に変化します。すべてのコントロールを破棄し、ユーザー入力に基づいて新しいコントロールを描画します。

ユーザーがフォームの一番下までスクロールしてボタンをクリックすると、新しいコントロールを破棄して作成すると、必要な場所に配置されないことに気付きました。上部の上部ではなく、フォームの表示部分に相対的に配置されているようです。

例:

 checkbox1.top = 50
 checkbox1.left = 15

スクロールバーが一番下にある場合、チェックボックスはフォームの表示部分の上に配置する必要があります。代わりに、私が見ることができるものの上部から 50 ピクセルで描画されます。

助けてください。スクロールバーの現在の位置に相対的ではなく、絶対的な位置にコントロールを配置するにはどうすればよいですか?

4

1 に答える 1

3

コンテナ コントロールのスクロール位置を補正する必要があります。

パネルの場合、次のようになります。

checkbox1.Top = Panel1.AutoScrollPosition.Y + 50

または、コントロールの配置を処理する FlowLayoutPanel コントロールを使用することもできます。

于 2013-11-11T22:38:31.387 に答える