2012-01-05 10 views
0

私は、サイズ変更イベント中にコントロールが現在サイズ変更されているかどうか、または最終サイズに達しているかどうかをチェックする方法を探しています。 (C#Windowsフォーム)IsResizingまたは同等のC#

など。 Javaスライダーでは、ユーザーが現在スライドしているかどうか、またはマウスを放しているかどうかを知ることができます。これは、最終的な値が選択されるまで、高価な再描画やその他の計算を避けることができることを意味します。

事前情報ありがとうございます。

+0

私が望むように質問しましたが、APIがトップレベルのコントロール(フォームと呼ばれることもあります)でこれらのイベントのみを発生させるのは「グランドユーザーの」エラーではありません。 –

+0

Fred - あなたが質問した質問では、トップレベルのコントロール(WinFormsでは常に「フォーム」と呼ばれていました)だけを必要としているとは指定していませんでした(「まだコントロールがリサイズされていますか? "あなたの質問が非常に特定のコントロール、特にフレームワーク全体の主要なトップレベルコントロールと同じようなものでのみ、これらのイベントを取得することを意図していれば、あなたはそれを言いたかったと思います。ご希望の場合は、あなたの質問を編集して幸いです。 – apiguy

答えて

2

フォームResizeBeginResize、およびResizeEndイベントがあります。この

であなたを助けるために、いくつかのイベントを持っています。それらの組み合わせは、あなたが望むものを得るはずです。

さらに注記:

あなたは、ウィンドウの境界線をクリックしてドラッグすると、イベントシーケンスがResizeBeginでは、マウスの各移動、ResizeEndのためのリサイズを繰り返しました。ウィンドウのサイズを最小化、最大化、または元に戻すと、それぞれのサイズに対してResizeが1回呼び出されます。 ResizeBeginとResizeEndのペアは、WindowsのLocationプロパティをプログラムで設定したときではなく、タイトルバーによってウィンドウを移動するだけでも呼び出されます。

+0

おかげで、完璧な答え。私の場合、私はMDIフォームを持っているので、親フォームがサイズ変更されてもResizeBeginが起動されないので少し難解ですが、私はその問題を回避できます。 –