0

私の Winforms アプリケーションには、さまざまな 2D 形状を描画するための「画面」として機能するユーザー コントロールがあります。「AutoScroll」プロパティをtrueに設定し、画面をズームするとスクロールバーが正常に機能します(つまり、ユーザーコントロール)今、任意の形状(長方形や円など)を選択して移動すると、表示されている部分を超えます画面の表示領域でその形状を維持するために、それぞれのスクロールバーを自動スライドさせたい。スクロールバーの他のプロパティを設定する必要がありますか??

4

2 に答える 2

0

プロパティの正確な内容と機能については、MSDN のドキュメントを参照してください。AutoScrollこれは単に、コンテナーがその可視境界よりも大きい仮想サイズを持つことを可能にします。実際にはスクロールはしません。

ユーザーが図形をドラッグするときにコントロールを「移動」させたい場合は、そのアクションを自分でキャプチャし、コントロールを手動でスクロールする必要があります。MouseDown イベントと MouseMove イベントから始めることをお勧めします。スクロールが必要な時期と実際にスクロールする量を把握するには、いくつかのロジックが必要です。

于 2013-01-08T12:53:12.413 に答える
0

独自の方法を作成せずにそれを達成することは不可能だと思います。

スクロールバーの位置は次の方法で設定できます。

this.VerticalScroll.Value = Y;

Rectangle次に、ビアの位置を見つける必要があります。

Rectangle.Location.Y;

したがって、これは垂直スクロールバーで機能するはずです:

this.VerticalScroll.Value = Rectangle.Location.Y;

水平:

this.HorizontalScroll.Value = Rectangle.Location.X;

MouseDown-Event と組み合わせるとうまくいきます。

于 2013-01-08T12:54:40.577 に答える