- PR -

TextBoxにデータを入力後、発生するイベントは?

投稿者投稿内容
だんじり
大ベテラン
会議室デビュー日: 2007/08/10
投稿数: 155
お住まい・勤務地: 神奈川県
投稿日時: 2007-11-11 17:27
現在、Visual Basic 2005 Express Edition でWindowsアプリケーションを 開発してい
ます。大変初歩的な質問ですが「入力後」「イベント」で過去ログを探しても見つかり
ませんので質問します。

数値の入力用テキストボックスで、入力確定後(Enterキー後)に、ある処理を行いた
く、該当するイベントを探しています。

次のイベントについてテストしましたが、それぞれイベント発生内容と時期が希望に
該当しません。
1.TextBox_Enter:フォーカス取得時に2回イベントが発生します。
2.TextBox_Leave:入力後には何も発生しません。
3.TextBox_EnabledChanged:フォーカス取得時に1回発生します
4.TextBox_TextChanged:フォームLoad時と1文字入力毎にイベントが発生し、
Enterキーで確定後は発生しません。

希望のイベントは「123」の数値を入力するのに、順次 1→2→3→Entoerキーと押し
ていきますが、Enterキー後に発生するイベントを教えていただきたく投稿しました。
よろしくお願いいたします。

文字(Enter)修正2007,11,12

[ メッセージ編集済み 編集者: だんじり 編集日時 2007-11-12 08:33 ]
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-11-11 17:37
引用:

だんじりさんの書き込み (2007-11-11 17:27) より:

1.TextBox_Enter:フォーカス取得時に2回イベントが発生します。
2.TextBox_Leave:入力後には何も発生しません。
3.TextBox_EnabledChanged:フォーカス取得時に1回発生します
4.TextBox_TextChanged:フォームLoad時と1文字入力毎にイベントが発生し、
Enterキーで確定後は発生しません。


これ自体がちょっと... 質問したいことは IME での入力確定後のタイミングのことなのでしょうか? だとすれば、Enter だとか Leave だとかを引き合いに出したり、はたまた EnabledChanged に至っては何の関係があるのかわかりません。

# s/Entoer/Enter/ ですね。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
だんじり
大ベテラン
会議室デビュー日: 2007/08/10
投稿数: 155
お住まい・勤務地: 神奈川県
投稿日時: 2007-11-11 19:29
じゃんぬねっとさん、いつもお世話になります。
質問が下手でご迷惑をおかけします。質問したいのは、Windowsアプリケーションの
フォーム上に配置したTextBoxに、入力後発生するイベントを探しています。1〜4に
あげた例はイベントの中から私なりにそれらしいイベントを実験してみて、うまくいか
なかった例を記述しました。

じゃんぬねっとさんの「質問したいことは IME での・・・」とは漢字変換の事でしょうか。

どうも質問の仕方に自信をなくしてしまいました。
申し訳ありませんが、この質問を取り下げ、自分で勉強してみます。
じゃんぬねっとさんのおっしゃっていることが分らず、お答えできませんがあしかず。
どうもありがとうございました。
まどか
ぬし
会議室デビュー日: 2005/09/06
投稿数: 372
お住まい・勤務地: ますのすし管区
投稿日時: 2007-11-11 19:37
引用:

入力確定後(Entterキー後)



そもそもWindowsに入力確定という機能がありません。
Enterは単に改行という目に見えないコードを入力するひとつのキーでしかありません。
で、入力確定という仕様はホストやオフコンに実行キーというズバリのものがあって
それに慣れた人たちがWindows版のシステム構築においてそういう動きにしろというものです。
入力確定という言葉だけでわかる人もいればわからない人もいるでしょう。
そういう意味で「Enterで次のコントロールにフォーカスするようにしている」など簡単な説明はしておいたほうがよいでしょう。

引用:

Entoerキー後に発生するイベントを教えていただきたく投稿しました。



というわけで、単純にKeyDownです。

引用:

大変初歩的な質問ですが「入力後」「イベント」で過去ログを探しても見つかり
ませんので質問します。



だんじりさんに過去に言ったかどうかは覚えてはいませんが
まず見るべきはMSDNです。
だんじり
大ベテラン
会議室デビュー日: 2007/08/10
投稿数: 155
お住まい・勤務地: 神奈川県
投稿日時: 2007-11-11 20:01
まどかさん、ありがとうございました。
引用:

まどかさんの書き込み (2007-11-11 19:37) より:
そういう意味で「Enterで次のコントロールにフォーカスするようにしている」など簡単な説明はしておいたほうがよいでしょう。


とおっしゃっておられることは、質問する場合に「Enter」を使う場合に付け加える言葉を教え地ただいたのでしょうか。

引用:

というわけで、単純にKeyDownです。



大変ありがとうございました。
まどかさんに教えていただいた「KeyDown」で試して見ましたが、1文字入力毎に
イベントが発生します。もう少しテストをして見ます。
まどか
ぬし
会議室デビュー日: 2005/09/06
投稿数: 372
お住まい・勤務地: ますのすし管区
投稿日時: 2007-11-11 20:14
引用:

とおっしゃっておられることは、質問する場合に「Enter」を使う場合に付け加える言葉を教え地ただいたのでしょうか。



要は「Enterで入力確定」という動作はOS上に存在しないということです。
なので、その言葉だけだとEnterと連鎖しておこなっている処理も見えませんし
質問内容に関係があるかないかもわかりません。
#今回は関係なさそうですが。
#じゃんぬさんの言われるIMEが関連するならEnterには入力確定という意味がありますが。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-11-11 20:31
私が IME を持ち出したのは Enter で確定という概念があるシナリオはこれしか思いつかなかったからです。 私が読み取れていないということであれば Enter で確定とはどういう状況なのか説明して欲しいです。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
だんじり
大ベテラン
会議室デビュー日: 2007/08/10
投稿数: 155
お住まい・勤務地: 神奈川県
投稿日時: 2007-11-11 21:13
まどかさん、じゃんぬねっとさん、色々ありがとうございます。
私が質問していることとは、だいぶ離れてしまいましたが、これも私がEnterを「確定」
と訳したために、本題の質問からそれてしまったことで、大変お手数をおかけいたしました。
引用:

じゃんぬねっとさんの書き込み (2007-11-11 20:31) より:
私が読み取れていないということであれば Enter で確定とはどういう状況なのか説明して欲しいです。



結局、私の質問が要領を得ず、また私の[Enter]に対する認識不足が、誤解を招いてしまったようです。以下確定に対する私の思いを説明してお詫びいたします。

なれ親しんだ[Enter]キーは、文字入力して、これで確定する場合に押していたもので
すから、ついEnterキー = 確定と表現してしまい皆様方には誤って伝わってしまったこ
とを深くお詫び申し上げます。

今後は質問の言葉に十分気をつけるつもりですのでお許し下さい。


スキルアップ/キャリアアップ(JOB@IT)