- スクロールバーの位置がリセットされてしまうメソッド
Focus()
タイマーイベントを利用してスクロールバーを任意の位置へ移動させる
<呼び出し側>
myTimer.Tick += new EventHandler(TimerEventProcessor);
myTimer.Interval = 100;
myTimer.Start();
<イベント>
//Panel2のスクロールバーを内部ピクチャの中心に合わせる処理
void TimerEventProcessor(object myObject, EventArgs myEventArgs)
{
myTimer.Stop();
panel2.AutoScrollPosition = new Point(
(pictureBox2.Width - panel2.ClientRectangle.Width) / 2,
(pictureBox2.Height - panel2.ClientRectangle.Height) / 2);
myTimer.Dispose();
}
- パネルのスクロールバーを動かすヘルプ関数(キー入力などで移動させたい用)
/// <summary>
/// スクロールの補助関数
/// </summary>
/// <param name="panel">スクロールさせたいパネルコントロール</param>
/// <param name="x">加算するX値</param>
/// <param name="y">加算するY値</param>
void ScrollHelper(ref Panel panel, int x, int y)
{
panel.AutoScrollPosition = new Point(-panel.AutoScrollPosition.X + x, -panel.AutoScrollPosition.Y + y);
}
最終更新:2012年09月06日 16:12