2009-06-10 22 views
1

私は、MDI親フォームを表示し、複数の子フォームを表示できるVB.Net Winformsアプリケーションを用意しています。子フォームが画面の高さを超えて拡張されている場合は、MDI親の右側に垂直スクロールバーが自動的に表示されます&このスクロールバーを使用して、子フォームを表示にスクロールできます。WinformsアプリケーションでMouseWheelを使用してMDI親ウィンドウをスクロールする方法

ただし、マウスホイールはこのスクロールバーには影響しません。マウスホイールをスクロールして子フォームにするにはどうすればいいですか?

私はマウスイベントを扱うことができますが、ウィンドウのスクロールを有効にするには、それらを処理したらどうしたらよいか分かりません。

答えて

1

マウスイベントをキャプチャしたら、スクロールするコントロールのSetDisplayRectLocation()を呼び出します。何かのように

myControl.SetDisplayRectLocation(
      myControl.DisplayRectangle.X, 
      myControl.DisplayRectangle.Y + MouseWheelDelta * ScrollAmount 
     ); 

(ScrollAmountはあなたが定義する定数です - 30ピクセルから始まります)。

また、スクロールバーの位置を更新するには、メインフォームでAdjustFormScrollbars()も呼び出す必要があります。

(申し訳ありませんが、C# - 私はVBの構文を知らない)

関連する問題