DOBON.NET DOBON.NETプログラミング掲示板過去ログ

KEYPRESSイベントを呼ぶ方法

分類:[.NET]

テキストボックスのKEYPRESSイベントでENTERを押したときに
いろいろ処理を書いてますが、この処理を他からCALLしてやりたいの
ですが、パタメータをどうやって指定したらいいかわかりません。
教えてください。

Private Sub Text1_KeyPress(ByVal eventSender As System.Object, ByVal eventArgs As System.Windows.Forms.KeyPressEventArgs)
Handles Text1.KeyPress

↑この処理を他からCALLしたい

CALL Text1_KeyPress(???,???)
■No16608に返信(初心者さんの記事)
> テキストボックスのKEYPRESSイベントでENTERを押したときに
> いろいろ処理を書いてますが、この処理を他からCALLしてやりたいの
> ですが、パタメータをどうやって指定したらいいかわかりません。
> 教えてください。

この手の話は何度も出ていますね。

イベントなのですから、名前から推測されるタイミング以外での呼び出しは反則だと思います。
よって、KeyPress イベントで実装しているロジックを他のメソッドへ移し、
KeyPress イベントでも、"この処理を他から CALL してやりたい" 位置でも、
この移したメソッドを呼び出すことで解決すべきだと思います。

それと、"初心者" というハンドルは、こちらの掲示板では禁止されているようですよ。
http://dobon.net/vb/bbs/index.html#manners
#既に指摘されていますので申し訳ないのですが、形式的に書かせていただきます。

「書き込みのマナーについて」に書かれているように、この掲示板では匿名での投稿は禁止されています。「初心者」や「通りすがり」のようなお名前も匿名とみなされます。なぜ匿名での投稿が禁止されているかについては、「書き込みのマナーについて」をご覧ください。面倒だとは思いますが、今後は「書き込みのマナーについて」をご一読いただき、ご理解のうえ、ご投稿ください。もしこのルールを守りたくないならば、「お気楽掲示板」へご投稿ください。ご協力をお願いいたします。

書き込みのマナーについて
http://dobon.net/vb/bbs/index.html
  • 題名: Re[1]: KEYPRESSイベントを呼ぶ方法
  • 著者: R・田中一郎
  • 日時: 2006/07/13 11:07:29
  • ID: 16623
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
もしかして、他のテキストボックスのイベントからも共通で同じメソッドを呼び出したいってことでしょうか?
だとしたら、他のテキストボックスのプロパティウィンドウのイベントで、同じメソッド名を指定してやるだけでOKです。
(後で見てわかりやすいように、メソッド名を変更した方が良いでしょうけど)

そうでない(Text1_KeyPressをいろいろな場所から呼び出したい)のなら、じゃんぬねっとさんの仰るように、別のメソッドを用意して、Text1_KeyPress メソッドからも、別のメソッドを呼び出すようにしてやるのが一般的です。

DOBON.NET | プログラミング道 | プログラミング掲示板