問題タブ [keypreview]
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.
.net - コントロールが処理する前に KeyPreview が KeyUp イベントを処理しない
KeyPreview を true に設定したフォーム myForm があります。
アイデアは、どのテキストボックス (または他のコントロール) がフォーカスされていても、CTRL-Enter をキャプチャしてフォームの送信ボタンを起動したいということです。
だから私はこの方法を設定しました:
それはまさにそれが言うことをします。問題は、エンター キー ストロークがフォーカスされたテキスト ボックスでも発生するため、テキスト ボックスの単語の途中またはカーソルの位置に改行が入ることです。MSDNのドキュメントによると:
このプロパティが true に設定されている場合、フォームはすべての KeyPress、KeyDown、および KeyUp イベントを受け取ります。フォームのイベント ハンドラーがキーストロークの処理を完了すると、キーストロークはフォーカスのあるコントロールに割り当てられます。
これは残念ながら真実ではありません。コードをステップ実行して、myForm_KeyUp コードが実行される前にテキスト ボックスに新しい改行が実際に表示されることを確認しました。
私は両方を追加しようとしました
と
テキストボックスにはすでに改行が表示されているため、効果はありません。
何か案は?何か不足していますか?
c# - コントロールがそれを処理しなかった場合にのみ、ESC キーが押されたときにフォームを閉じるにはどうすればよいですか?
KeyPreview
、ProcessKeyEventArgs
、またはその他のおかげで、ESCキーが押されるとフォームが閉じますProcessCmdKey
。しかし、ESCが押されたときに非常に関連性のあることを行うフォームにコントロールがあり(それ自体が非表示になります)、それが発生したときにフォームを閉じてはなりません。
コントロールはKeyDown
イベントを使用してSuppressKeyPress
フラグを true に設定しますが、これは前述のフォーム キー プレビューの後に発生するため、効果がありません。
ある種の KeyPostview はありますか?
コントロールにキー ヒットの関連する使用法がある場合、フォームを閉じないようにするにはどうすればよいですか?
編集: ESC を処理するコントロールは、手作りの ListView に埋め込まれたテキスト ボックスです。ユーザーがセルをクリックするとテキストボックスが表示され、編集が有効になります。新しいテキストを検証するには、ENTER が便利です (これは、他の何かにフォーカスを与えるため、既に機能しています)。編集をキャンセルするには、ESC が最も自然なようです。
c# - プログラムからスクリーンショットを防ぐ方法
ユーザーによるスクリーンショットからプログラムを保護する方法はありますか? たとえば、ユーザーがキーボードの Print Screen キーを押したときに、プログラムをスクリーンショットに表示したくありません。ユーザーが Print Screen キーを押したときにプログラムを最小化するプログラムで、キーのプレビューを何らかの方法で作成することは可能ですか?
C# WinForms 用にこれが必要です。
PS私はそれが少しばかげていることを知っています、ユーザーは画面の実際の写真を撮ることができます:Pしかし、私の好奇心だけです!
c# - C#: フォームで TextPreview を使用すると、TextBox がキーを受信しない
C# で Windows フォームに検索機能を実装しています。フォームで true に設定KeyPreview
し、 のイベント ハンドラーを追加して、 、 、 などKeyDown
をキャッチできるようctrl+f
にesc
しenter
ました。
私はこれらのキーを問題なくキャッチしており、テキスト ボックスを表示することはできますが、ボックスに入力することはできません。すべてのキーが移動しますがPortsTraceForm_KeyDown(...)
、テキスト ボックスには到達しません。についてのmsdnページによると、KeyPreview
e.Handledをfalseに設定すると、イベントがフォーカスのあるビュー(テキストボックス)に渡されるはずですが、これは起こっていません。KeyDown
テキスト ボックスのイベントを登録していないので、既定の動作を使用する必要があります。私は何かを逃しましたか?
KeyDown イベント:
検索バーを表示:
検索バーを非表示:
c# - このコードが1つのインスタンスでのみ機能するのはなぜですか?
フォームのKeyPreview
プロパティをに設定しましたtrue
。
私はこのコードを追加しました:
マッシュするとF10、期待どおりに機能します。F9ただし、マッシングは何もしません。
tabPageDuckBill
表示される設計時/デフォルトですtabPage
。F10「その他」のタブページにF9移動しても、元のページに戻らないのはなぜですか。
forms - MS Access のフォームの「キー プレビュー」プロパティは何を意味しますか?
現在、MS Access でプログラミングを行っています。フォームのプロパティを調べているときに、「キー プレビュー」という名前のプロパティに出会いました。MS Access のドキュメントには、コントロールのキーボード イベントの前にフォームのキーボード イベントを呼び出すために使用されることが記載されています。
これが何を意味するのかわからないのですが、なぜこのプロパティを使用できるのでしょうか??
forms - フォームのキープレビューが機能しない
メインフォームの作成(フォームの自動作成)とForm1(使用可能なフォーム)があります。form1を呼び出すために使用するメソッドは次のようになります
問題は、彼のKeyPreviewをアクティブにしたのに、Form1のKeyPreviewが機能しないのはなぜですか?
android - キーボード キー アイコンのプレビュー
SDK にあるカスタム キーボードを編集しました。さて、私はほとんど終わりました。
唯一の問題は、次のようないくつかのキーのアイコンプレビューを表示したくないことでした
- スペース
- 入力
- シフト
- 代替
- 消去
これらのキーのアイコン プレビューを無効にする方法がわかりましたが、スペース キーと削除キーは繰り返し使用できます (長押しすると複数のアクションが実行されます)。
そして、繰り返し可能なプロパティをオフにする必要があります。これは、これらの 2 つのキーにとって非常に面倒です。長さ5の単語を削除するには、削除ボタンを5回押す必要があるため..
delphi - Delphi でバーコード スキャナを使用する
私は POS (ペット プロジェクト) を開発しており、バーコード スキャナーを追加して売上をより迅速に取得することを考えています。現在、スキャナーを持っていません。ちょっと行き詰っているので、いくつか質問したいと思います。
私の最初のアイデアは、販売画面にTEdit
コンポーネントを配置し、人が製品をスキャンすると文字列で埋められるというものTEdit
でした。今私が直面している問題はTEdit
、人が見えないように見えないようにしたいということです。しかし、一度目にTEdit
見えないものを作ると、それに焦点を合わせることができなくなり、その計画は機能しません。
スキャンされた文字列を「キャプチャ」するために使用できるものを誰かが提案できますか? コンポーネントがリッスンしてスキャナーを待機するようにするにはどうすればよいですか? スキャナーは、ボタンを押したり上げたりするなど、通常のキーボードイベントのようになると思います。
c# - スキャンによって挿入された C# Key(*)Event で文字列を取得する方法は? (Windows CE5)
バーコード スキャナーでスキャンしたデータをキャプチャする Win CE 5 アプリケーションに取り組んでいます。アプリケーションは、アプリケーションの機能をトリガーする事前定義されたバーコードである「システム バーコード」をサポートする必要があります。
これらのバーコードは、メインフレーム全体で機能する必要があります。そのため、メイン フレームの KeyPreview プロパティを true に設定し、メイン フレームの KeyDown イベントに KeyEventHandler を登録しました。
私の問題は、完全にスキャンされた文字列を取得する方法がわからなかったことです。文字列の長さは 12 文字で、改行で終わります。EventHandler で文字列全体を取得する可能性はありますか?
よろしくお願いします。