ホームページ バックエンド開発 C#.Net チュートリアル C# で矢印キーと Enter キーを使用してコントロール フォーカスを切り替える 2 つの方法

C# で矢印キーと Enter キーを使用してコントロール フォーカスを切り替える 2 つの方法

Jun 23, 2017 pm 04:24 PM
.net スイッチ 入力 コントロール 方向 集中

環境: インターフェイスには TextBox、ComboBox、その他のコントロールがあります。

フォーカスを切り替えるために左右の矢印キーの両方を使用することはお勧めできません。そうしないと、TextBox 内のカーソルの文字位置を変更するのに不便になります。

方法 1: 愚かな方法、コントロールごとに個別にイベント処理を登録する必要があります

TextBox を例に挙げます。コードは次のとおりです:

 1 private void textbox_KeyDown(object sender, KeyEventArgs e)         
 2 {             
 3     if (e.KeyCode == Keys.Down || e.KeyCode == Keys.Enter)             
 4     {                 
 5         e.SuppressKeyPress = true;                 
 6         System.Windows.Forms.SendKeys.Send("{Tab}");             
 7     }             
 8     else if (e.KeyCode == Keys.Up)             
 9     {                 
10         e.SuppressKeyPress = true;                 
11         System.Windows.Forms.SendKeys.Send("+{Tab}");             
12     }         
13 }
ログイン後にコピー

方法 2: 簡単な方法、登録する必要はありませんコントロールごとに個別にイベントを処理するには、次のコードをフォーム クラスに追加するだけです:

 1 //上、下方向键,及回车键切换控件焦点 2 protected override bool ProcessCmdKey(ref Message msg, Keys keyData) 3 { 4     Keys key = (keyData & Keys.KeyCode); 5     if (e.KeyCode == Keys.Down || e.KeyCode == Keys.Enter)             
 6     {                                  
 7       System.Windows.Forms.SendKeys.Send("{Tab}"); 
 8       return true;            
 9     }             
10     else if (e.KeyCode == Keys.Up)             
11     {                                  
12       System.Windows.Forms.SendKeys.Send("+{Tab}");13       return true;             
14     }   
15     return base.ProcessCmdKey(ref msg, keyData);16 }
ログイン後にコピー

この時点で、コントロールのフォーカスを切り替える機能が実装されました。ここで、2 つの ComboBox コントロール cmbMeas が必要になります。フォームインターフェイスの cmbRemark は、フォーカスを切り替えるのではなく、Enter キーを押したときに送信されるようにしたいのですが、どうすればよいですか?次に、現在フォーカスがあるコントロールが cmbMeas か cmbRemark かを判断する必要があります。具体的なコードは次のとおりです。

Control.FromHandle メソッド

が戻ります。指定されたハンドル Control に関連付けられた現在のコントロール。指定されたハンドルを持つコントロールが見つからない場合は、null 参照が返されます。

Control.FromChildHandle メソッド

複数のハンドルを持つコントロールを返す必要がある場合は、

FromChildHandle

メソッドを使用する必要があります。

このメソッドは、コントロールに関連付けられたハンドルが見つかるまで、ウィンドウ ハンドルの親チェーンを検索します。このメソッドは、複数のハンドルを持つコントロールを正しく返すため、FromHandle メソッドよりも信頼性が高くなります。

ユーザー定義コントロールの場合は、FromChildHandle メソッドを使用する必要があります。

以上がC# で矢印キーと Enter キーを使用してコントロール フォーカスを切り替える 2 つの方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Xiaomi Mi 14Ultraで4gと5gを切り替えるにはどうすればよいですか? Xiaomi Mi 14Ultraで4gと5gを切り替えるにはどうすればよいですか? Feb 23, 2024 am 11:49 AM

Xiaomi 14Ultraは、今年最も人気のあるXiaomiモデルの1つです.Xiaomi 14Ultraは、プロセッサとさまざまな構成をアップグレードするだけでなく、多くの新しい機能アプリケーションをユーザーにもたらします.これは、Xiaomi 14Ultra携帯電話の販売からもわかります.人気がありますが、まだ知られていない一般的に使用される機能がいくつかあります。では、Xiaomi 14Ultraはどのようにして4gと5gを切り替えるのでしょうか?以下に具体的な内容をご紹介していきます! Xiaomi 14Ultraで4gと5gを切り替えるにはどうすればよいですか? 1. 電話機の設定メニューを開きます。 2. 設定メニューで「ネットワーク」および「モバイル ネットワーク」オプションを見つけて選択します。 3. モバイル ネットワーク設定に、[優先ネットワーク タイプ] オプションが表示されます。 4. このオプションをクリックまたは選択すると、次の内容が表示されます。

win11 home版からprofessional版へ切り替える操作チュートリアル_win11 home版からprofessional版へ切り替える操作チュートリアル win11 home版からprofessional版へ切り替える操作チュートリアル_win11 home版からprofessional版へ切り替える操作チュートリアル Mar 20, 2024 pm 01:58 PM

Win11 Home Edition を Win11 Professional Edition に変換するにはどうすればよいですか? Win11 システムは Home Edition、Professional Edition、Enterprise Edition などに分かれており、ほとんどの Win11 ノートブックには Win11 Home Edition システムがプリインストールされています。今日は、エディターが win11 ホーム バージョンからプロフェッショナル バージョンに切り替える手順を示します! 1. まず、win11 デスクトップとプロパティでこのコンピューターを右クリックします。 2. 「プロダクト キーの変更」または「Windows のアップグレード」をクリックします。 3. 入力後、「プロダクト キーの変更」をクリックします。 4. アクティベーション キー 8G7XN-V7YWC-W8RPC-V73KB-YWRDB を入力し、[次へ] を選択します。 5.その後、成功を促すメッセージが表示されるので、win11 home バージョンを win11 professional バージョンにアップグレードできます。

Win10システムでデュアルシステム切り替えを実装する方法 Win10システムでデュアルシステム切り替えを実装する方法 Jan 03, 2024 pm 05:41 PM

Win システムに初めて触れたとき、多くの友人は慣れていないかもしれません。コンピューターにはデュアル システムがあります。現時点では、実際に 2 つのシステムを切り替えることができます。切り替えの詳細な手順を見てみましょう。 2 つのシステム間で。 win10システムで2つのシステムを切り替える方法 1. ショートカットキーの切り替え 1. 「win」+「R」キーを押してファイル名を指定して実行を開きます 2. 実行ボックスに「msconfig」と入力し、「OK」をクリックします 3. 開いた「」で「システム構成」インターフェイスで、必要なシステムを選択し、「デフォルトとして設定」をクリックします。完了後、「再起動」で切り替えを完了できます。方法 2. 起動時に切り替えを選択します。 1. デュアル システムの場合、選択操作インターフェイス起動時に表示されます。キーボードの「上下キー」を使用してシステムを選択できます。

Apple コンピュータのデュアル システム ブート モードを切り替える Apple コンピュータのデュアル システム ブート モードを切り替える Feb 19, 2024 pm 06:50 PM

起動時に Apple デュアル システムを切り替える方法 Apple コンピュータは強力なデバイスなので、独自の macOS オペレーティング システムに加えて、Windows などの他のオペレーティング システムをインストールしてデュアル システム切り替えを実現することもできます。では、起動時に 2 つのシステムを切り替えるにはどうすればよいでしょうか?この記事では、Apple コンピュータのデュアル システムを切り替える方法を紹介します。まず、デュアル システムをインストールする前に、Apple コンピュータがデュアル システムの切り替えをサポートしているかどうかを確認する必要があります。一般的に言えば、Apple コンピュータは以下に基づいています。

Javaでキャリッジリターンを読み取る方法 Javaでキャリッジリターンを読み取る方法 Mar 22, 2024 pm 04:57 PM

Java では、キャリッジ リターンは通常、改行文字で表されます。 Windows システムでは、復帰と改行を表すために「\r\n」が使用されますが、Unix/Linux システムでは「\n」が使用されます。復帰を含むテキストを読み取る場合、Java はこれらの文字を通常の文字として扱います。 BufferedReader クラスまたは Scanner クラスを使用すると、キャリッジ リターンまたはライン フィードが検出されるまで入力ストリームからテキストを読み取ることができます。

C# の雇用の見通しはどのようなものですか? C# の雇用の見通しはどのようなものですか? Oct 19, 2023 am 11:02 AM

初心者でも経験豊富なプロフェッショナルでも、C# をマスターすることでキャリアへの道が開かれます。

Excelでブックを切り替えるショートカットキーの使い方 Excelでブックを切り替えるショートカットキーの使い方 Mar 20, 2024 pm 01:50 PM

Excel ソフトウェアのアプリケーションでは、一部の操作を簡単かつ迅速に行うためにショートカット キーを使用することに慣れています。Excel の複数のテーブル間に関連するデータがある場合があります。それを表示するときに、タスクを常に切り替える必要があります。高速な切り替え方法を使用すると、切り替えにかかる無駄な時間が大幅に節約され、作業効率が大幅に向上します。クイック切り替えを完了するにはどのような方法を使用できますか? この問題に対処するために、今日は編集者がそれについてお話します。内容は次のとおりです。 Excel でブックを切り替えるショートカット キーを使用します。 1. まず、開いた Excel テーブルの下部に複数のワークブックが表示されますが、下の図に示すように、異なるワークブックをすばやく切り替える必要があります。 2. 次に、キーボードの Ctrl キーを動かさずに押し、必要に応じて右側のジョブを選択します。

いくつかの .NET オープンソース AI および LLM 関連プロジェクト フレームワークを共有する いくつかの .NET オープンソース AI および LLM 関連プロジェクト フレームワークを共有する May 06, 2024 pm 04:43 PM

現在、人工知能(AI)技術の開発は本格化しており、さまざまな分野で大きな可能性と影響力を発揮しています。本日、Dayao は、参考にしていただけるよう、4 つの .NET オープン ソース AI モデル LLM 関連プロジェクト フレームワークを共有します。 https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.mdSemanticKernelSemanticKernel は、OpenAI、Azure などの大規模言語モデル (LLM) を統合するように設計されたオープン ソース ソフトウェア開発キット (SDK) です。

See all articles