- 締切済み
ユーザコントロールでのEnterキータブ移動
開発言語:VS2008・C# VS2008・C#で郵便番号や電話番号を入力できるユーザコントロールを作成しています。 入力フィールドはTEXTBOX、区切り文字はLABELで、 郵便番号なら3桁 + 区切り文字(-) + 4桁 電話番号なら3桁 + 区切り文字(-) + 4桁 + 区切り文字(-) + 4桁 といった感じで、プロパティで設定された値により、動的に入力フィールドのTEXTBOXを作成しています。 上記のユーザコントロールをフォームに配置し、ENTERキーでフォーカスを移動させたいのですが、現時点で、ユーザコントロール内のTEXTBOXでENTERを押した場合フォーカスはユーザコントロール内の次のTEXTBOXに移動するのですが、最後のTEXTBOXでENTERキーを押した場合ユーザコントロールからフォーカスが移動しなくなってしまいます。 例)住所フィールド(TEXTBOX)→ENTER押下→郵便番号(ユーザコントロール)の上3桁フィールド→ENTER押下→郵便番号(ユーザコントロール)の下4桁フィールド→ENTER押下(フォーカスが次のコントロールに移動しない) ユーザコントロール内のENTERキー移動はKeyDownイベントに関連付け行っていますが、これだとユーザコントロール内しかENTERでフォーカスが移動せずフォーム上の次のコントロールにフォーカスが移動しません。 どなたか、ENTERキーでユーザコントロールからフォーカスが移動できる方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
お礼
ご回答ありがとうございます。 上記方法を参考に下4桁のKeyDownイベントに処理を加えたところ解決しました。 追加で質問なのですが、ENTERでタブ移動した際、警告音が鳴ってしまいます。各KeyDownイベント後にe.Handled = true;にしているのですが。それでも警告音が消えません。対応法など知っていましたら御教授願います。