C#、Visual Studio 2005のフォームにボタンを配置し、MouseHoverやMouseDownなどのボタンイベントによってトリガされるアクションがあると、私がホバリングを続けたり、左ボタンを押したままにしても、アクションを定義する関数を呼び出してください。この場合、私はグラフィックオブジェクトを回転または翻訳して移動しようとしています。私は変換機能を繰り返し呼び出すためにマウスをクリックし続けたいと思っています。マウスをホバリングしたままにするかボタンを押したままにしておきます。私自身の行動を止めるまで行動を維持するものは何ですか?Windowsフォームマウスイベント中に連続アクションを作成する
0
A
答えて
0
MouseEnterにフラグを設定して、フラグがtrueの間、処理を続けます。 MouseLeaveでフラグをfalseに設定します。
0
イベントのMouseDown、MouseMove、MouseUpの組み合わせを使用する必要があります。ここ
開始する小さな簡略化した例:
private void OnMouseDown(object sender, EventArgs e)
{
//hit test to check if the mouse pointer is on a graphical object
_myHitObject = the_selected_object
}
private void OnMouseMove(object sender, EventArgs e)
{
if(_myHitObject != null)
//do your action relative to the mouse movements.
}
private void OnMouseUp(object sender, EventArgs e)
{
_myHitObject = null;
}
0
溶液はDoEvents関数を使用することである()注目すべきMouseLeaveイベントおよびクラス変数を変更するために、「もっと」を可能にする:
プライベートボイドMouseEnter_ZoomIn(オブジェクト送信者、のEventArgs電子)
{
more = true;
while (more == true)
{
c1Chart3D1.ChartArea.View.ViewportScale *= ZoomMultiple;
Application.DoEvents();
}
} // MOUSEENTER_ZOOMIN()
// -------------------------------------
プライベートボイドMouseLeave_Stop(オブジェクト送信者、のEventArgs電子)
{
more = false;
}
関連する問題
- 1. プロビジョニング中に連続バックグラウンドジョブを作成する
- 2. 連続グラデーションを作成するには?
- 3. アレイを連続して作成する
- 4. Oracle DBカウント非連続アクション
- 5. 連続ヒートマップの作成R
- 6. Rails:関連するモデルのアクションを作成します
- 7. 永続的な関連付けを持つ非永続レコードでアクションを作成しますか?
- 8. カスタム作成アクションを作成する
- 9. iOSで画像付き連続アニメーションを作成するには
- 10. 作成/挿入時に連続番号を追加する - Teradata
- 11. Owl Carouselでカルーセルスライドを連続的に作成する方法
- 12. JavaFXで連続的なTranslateTransitionを作成するには
- 13. Sails.js /作成中のウォーターライン関連
- 14. アプリケーションの存続期間中にアクション結果をキャッシュする
- 15. 連続したマンデルブロ画像の作成
- 16. 連続データの作成UPDATES/INSERTS - SQLシミュレーション
- 17. 連続フリップアニメーションの作成方法は?
- 18. アソシエートを再作成中にアップダウン - アソシエート接続を維持する
- 19. Windowsでアクションを作成するタスクスケジューラでdtsxパッケージのコマンドを実行する
- 20. 実行中のWindowsフォームコントロールの作成
- 21. sqoopインポート中にハイブにテーブルを作成することに関連するクエリ
- 22. 連続変数のサマリーテーブルをカテゴリ変数で作成する
- 23. 永遠の連続期間を作成する
- 24. Vaadinで連続番号列を作成する方法
- 25. GCD:連続したダウンロード呼び出しを作成する。 ONE
- 26. 複数の連続した出力テーブルを作成する
- 27. OpenGLで無限/連続メッシュを作成する方法は?
- 28. arctan2()を2pi以上連続して作成する
- 29. Rで連続するx軸を持つボックスプロットを作成するには?
- 30. pypyodbc接続の作成中にエラーが発生するpython
Iは、次のコードで上記の試み: プライベートボイドMouseEnter_ZoomIn(オブジェクト送信者、EventArgsの電子) { more = true; (詳細== true) { c1Chart3D1.ChartArea.View.ViewportScale * = ZoomMultiple; } } // MOUSEENTER_ZOOMIN() // ------------------------------------ プライベートvoid MouseLeave_Stop(オブジェクト送信者、EventArgs e) { more = false; } 私は、MouseLeaveイベントがwhileループを殺すことを望んでいましたが、それはしませんでした。 – user32848