問題タブ [keydown]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jquery - キーボード コマンドを使用する関数からフォーム/入力を除外するにはどうすればよいですか?
jQuery scrollTo プラグインと keydown イベントを使用して、J キーと K キーでウィンドウを水平方向にスクロールしています。これは非常にうまく機能しますが、ページにフォーム入力があるため、入力がフォーカスされているときのスクロール動作を無効にしたいと思います。私のコードは以下の通りです:
c# - 基本的な WinForm KeyDown イベント処理
私はWinFormsを使用しています。メイン フォームのイベントのイベント ハンドラーを作成してKeyDown、ボタンのClickイベント ハンドラーを呼び出します。
呼び出されるClickイベント ハンドラは、押された特定のキーに依存します。ユーザーがキーを使用するのではなくボタンをクリックし、その後キーを使用しようとすると、キー (下矢印など) がタブ サイクルとして機能し、フォーム上の各ボタン コントロール間でフォーカスが移動します (実行するのではなく)。 Keydown ハンドラー)。
何か案は ?
c# - C#でのキー押下の処理
私はゲームを作っています。最初にメインキャラクターを初期化するMainCharacterというクラスがあり(pictureBox内)、次に動きを処理するためのKeyDownイベントがありました。そのイベントの中で、矢印キーを押すとキャラクターの動きを処理することができ、タイマーベースの動きのアニメーションを作成して、よりスムーズに見えるようにしました。
ただし、KeyDownイベントの問題は、キーを押すたびに発生することです。つまり、矢印キーを押したままにしてキャラクターが一方向に移動し続けると、イベントが繰り返し発生します。つまり、キャラクターはイベントはコンピューターが処理できる速度で発生するため、魚雷のように画面上を実行します。
そのため、KeyPressイベントを使用することにしました。これにより、キーを押したままにすると、キャラクターが指定された方向に一定の速度で移動するようになります。ただし、KeyPressイベントは矢印キーを処理できないため、メインフォームのProcessDialogKeyメソッドをオーバーライドする必要がありました。ただし、メインフォームでオーバーライドすると、ゲームに参加していないときでも、たとえばメインメニューやその他の場所で、矢印キーを押すたびにイベントが発生します。それに、とにかくクラスを越えてプログラムしようとしたら、それは悪い習慣だと思います。
それで、他のクラスに影響を与えることなく、MainCharacterクラス内の矢印でKeyPressイベントを処理する他の方法はありますか?または、すでに作業していたKeyDownイベントにとどまり、キーを押したままにすると繰り返し発生しないようにする機会はありますか?私が達成したいのは、キーを押したときにキャラクターが滑らかに動くことです。これまでのところ、1回押すだけで問題なく動作しますが、通常、一方向に歩くときはキーを押し続けます。
c# - DataGridViewキーダウンイベントがC#で機能しない
セル内のテキストを編集しているときに、DataGridViewのkeydownイベントが機能しません。
データを保存するためにショートカットAlt+Sを割り当てています。セルが編集モードでない場合は機能しますが、以下のコードが編集モードの場合は機能しません。
c# - KeyDownイベントがPrintScreenキーで機能しない
私はC#Windowsアプリケーションを使用しています
ユーザーがキーボードで押し下げたキーを確認しています。すべてのキーを確認しましたが、printScreenの場合は機能しません
だからPrintScreenキーを検出する方法
events - jqgridバインディングキーダウンイベントをセルに
私はこのようなグリッドを持っています
セルを選択するとき、キーダウンイベントをセルにバインドしたい、
しかし、私はイベントをトリガーできません。
ここで何が問題なのですか?
.net - 矢印キーの検出-ウィンドウ全体のKeyDown
WinFormsフォーム(C#/。Net)があり、PictureBox、MenuStrip、Panel、および2つのボタンコントロールが含まれています。
ウィンドウ全体の矢印キーのKeyDownイベントを検出する必要があります。つまり、ウィンドウがフォアグラウンドにある場合、子コントロールのどちらにフォーカスがあるかに関係なく、矢印キーがいつ押されたかを知り、それが発生したときにコードを実行する必要があります。
コントロールごとにイベントハンドラーをアタッチしたくありません。もっと良い方法はありますか?どうすればいいですか?
編集:以下の回答で提案されているようにKeyPreviewを使用すると、他のキーを検出できます。矢印キーを検出できません。フォームのボタンが無効になっている場合にのみ、矢印キーを検出できます。そうでなければ、彼らは前後に焦点を合わせ、イベントを発生させません。フォーム上のボタンで矢印キーを検出するにはどうすればよいですか?
winforms - ドラッグ ドロップ中に KeyDown を処理する
コントロール上でドラッグ + ドロップ操作が進行中 (つまり、DragEnter と DragLeave の間) に、キーダウン イベント (修飾キーではなく、O、C、G キーなど) に応答する必要があります。ただし、この段階では KeyDown イベントは呼び出されません。
コントロールを選択して、特に DragEnter にフォーカスを設定しようとしましたが、うまくいきません。
編集:
ハンスの答えは基本的に正しいですが、必要な動作を得るために GetAsynchKeyState を使用する必要がありました。
javascript - ページ内のキーとマウスホイールの両方を使用してズームを無効にすることは可能ですか?
Ctrlすべてのブラウザで+ -/+またはCtrl+スクロールホイールのズームを無効にしたい。リンク先のコードを使ってみました。Ctrlまた、次のコードを使用してキーを無効にしようとしました。
しかし、それは機能しません。ズームが無効になっていることをユーザーに警告したくないのでalert()、上記のコードの内部を使用することはできません。
助言がありますか?