C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: テキストフィールドのキーイベント


(過去ログ 22 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■9560 / inTopicNo.1)  テキストフィールドのキーイベント
  
□投稿者/ chite (1回)-(2007/10/30(Tue) 20:59:36)

分類:[C#] 

Studio2005を使ってます。

テキストフィールドにフォーカスがある時、エンターキーを押したときだけ
イベントを発生させたいのですが、キーイベントのKeypressやKyeUPを利用
しようとしてみましたが、エンターキー以外のどのキーでもイベントが発生
してしまいます。

パラメータでキー指定をすれば、とも思ったりしましたがなんとも
上手くいきません。

この場合、どのようにしたら目的を達成できるでしょうか?ご教授願います。
初歩的な質問ですいません。
よろしくお願いします。

引用返信 編集キー/
■9563 / inTopicNo.2)  Re[1]: テキストフィールドのキーイベント
□投稿者/ ダッチ (167回)-(2007/10/30(Tue) 21:08:22)
2007/10/30(Tue) 21:09:26 編集(投稿者)
> テキストフィールド
これはテキストボックスのことでいいですよね?

テキストボックスの KeyDown イベントなどで、
if ステートメント を使用して Enter キーが押された時のみ処理を行うようにすればいいです。
Enter キーが押されたかどうかは引数の KeyEventArgs の KeyCode を見れば判断できると思います。

if (e.KeyCode == ここにエンターキーの値 )
{
    // ここに Enter キーが押された時の処理を書く
}

 if-else (C# リファレンス)
 http://msdn2.microsoft.com/ja-jp/library/5011f09h(VS.80).aspx


引用返信 編集キー/
■9564 / inTopicNo.3)  Re[2]: テキストフィールドのキーイベント
□投稿者/ chite (2回)-(2007/10/30(Tue) 21:32:13)
No9563 (ダッチ さん) に返信
> 2007/10/30(Tue) 21:09:26 編集(投稿者)

ありがとうございます。

早速以下のようにやってみましたが
if (e.KeyCode == Keys.Enter)
{

}
'KeyCode'の定義がありません。と言われてしまいました。
keys.Enterがコード番号ではないからでしょうか?
それとも
using System.・・・の追加が必要なのでしょうか?

お手数かけてすいません。よろしくお願いします。
引用返信 編集キー/
■9566 / inTopicNo.4)  Re[3]: テキストフィールドのキーイベント
□投稿者/ ダッチ (168回)-(2007/10/30(Tue) 21:52:40)
No9564 (chite さん) に返信
> 'KeyCode'の定義がありません。と言われてしまいました。
> keys.Enterがコード番号ではないからでしょうか?
KeyPress イベントでやっていますよね。
Enter キーの場合は KeyPress イベントは発生しませんので
KeyDown イベントで処理を行ってください。

private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Enter)
    {
        MessageBox.Show("Enter KeyDown");
    }
}

引用返信 編集キー/
■9568 / inTopicNo.5)  Re[4]: テキストフィールドのキーイベント
□投稿者/ chite (3回)-(2007/10/30(Tue) 22:10:24)
No9566 (ダッチ さん) に返信

> KeyPress イベントでやっていますよね。
> Enter キーの場合は KeyPress イベントは発生しませんので
> KeyDown イベントで処理を行ってください。

はい正にその通りでした。
keyDown にしたらばっちりでした(^_^;

お手数かけてすいません。ありがとうございまいた。
今後ともよろしくお願いします。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -