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

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

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

Leaveイベントでボタンがクリックされたかどうかを取得したい


(過去ログ 2 を表示中)

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

■2129 / inTopicNo.1)  Leaveイベントでボタンがクリックされたかどうかを取得したい
  
□投稿者/ やす 二等兵(1回)-(2005/12/15(Thu) 10:30:42)

分類:[C#] 


分類:[C#] 

はじめまして。
C#でWindowsアプリケーションの開発を行っています。

テキストボックスとボタン1とボタン2が存在する画面で、
テキストボックスのLeaveイベントでボタン2がクリックされたかどうかの判定は可能でしょうか?
Leaveイベントの処理はボタン2がクリックされた時は何も処理せずに終了したいのです。
それ以外の場合(テキストボックスからボタン2へTabキーでフォーカス遷移した場合等)は、処理を行いたいと考えています。

説明がわかりづらいかも知れませんがどうぞ宜しくお願いします。

0
引用返信 編集キー/
■2130 / inTopicNo.2)  Leaveイベントでボタンがクリックされたかどうかを取得したい
□投稿者/ やす 二等兵(2回)-(2005/12/15(Thu) 10:33:41)

分類:[C#] 

すいません。。。タイトル書き忘れていました。
編集の仕方がわからないのでご容赦下さい。
申し訳がございません。

0
引用返信 編集キー/
■2136 / inTopicNo.3)  Re[1]: Leaveイベントでボタンがクリックされたかどうかを取得したい
□投稿者/ じゃんぬ 神(179回)-(2005/12/15(Thu) 16:49:19)
じゃんぬ さんの Web サイト

分類:[C#] 

No2129に返信(やすさんの記事)
> テキストボックスのLeaveイベントでボタン2がクリックされたかどうかの判定は可能でしょうか?

Leave イベントではなく Validating イベントでやると良いでしょう。
Validating イベントでは、ActiveControl で遷移先のコントロールを取得できます。

0
引用返信 編集キー/
■2138 / inTopicNo.4)  Re[2]: Leaveイベントでボタンがクリックされたかどうかを取得したい
□投稿者/ やす 二等兵(3回)-(2005/12/15(Thu) 19:16:08)

分類:[C#] 

じゃんぬさん回答ありがとうございます。

ActiveControlで確かにコントロールは取得出来ますが、
テキストボックスからボタンへTabキーを押下してコントロールが遷移した場合と、
ボタンをクリックした場合で、同じ値が取得出来てしまいますよね?

テキストボックスからTabキーを押下してボタンへコントロールが遷移した場合は、
テキストボックスのLeaveイベント(Validaitingイベント)の処理をしたいのですが、
テキストボックスにコントロールがある時に、ボタンをクリックした場合は、Leaveイベント(Validaitingイベント)の処理は行いたくありません。
テキストボックスからボタンへ単純にフォーカスが移っただけなのか、
もしくはテキストボックスにフォーカスがある時にボタンが押下されたのかを
判定したいのですが可能なのでしょうか?



0
引用返信 編集キー/
■2139 / inTopicNo.5)  Re[3]: Leaveイベントでボタンがクリックされたかどうかを取得したい
□投稿者/ シャノン 伍長(11回)-(2005/12/15(Thu) 21:36:00)

分類:[C#] 

CausesValidation プロパティについて調べてみてください。

0
引用返信 編集キー/
■2142 / inTopicNo.6)  Re[4]: Leaveイベントでボタンがクリックされたかどうかを取得したい
□投稿者/ じゃんぬ 神(180回)-(2005/12/16(Fri) 01:09:53)
じゃんぬ さんの Web サイト

分類:[C#] 

No2139に返信(シャノンさんの記事)
> CausesValidation プロパティについて調べてみてください。

最近のスレッドと一緒の流れですね。(^^;)
http://www.gdncom.jp/general/bbs/ShowPost.aspx?PostID=39467

0
引用返信 編集キー/
■2143 / inTopicNo.7)  Re[2]: Leaveイベントでボタンがクリックされたかどうかを取得したい
□投稿者/ シャノン 伍長(12回)-(2005/12/16(Fri) 01:36:33)

分類:[C#] 

No2136に返信(じゃんぬさんの記事)
> Leave イベントではなく Validating イベントでやると良いでしょう。

ひとつ突っ込ませていただくと、そのイベント内でやりたいのが入力値の検証でないのならば、Validated イベントの方が適切かと思われます。

0
引用返信 編集キー/
■2144 / inTopicNo.8)  Re[3]: Leaveイベントでボタンがクリックされたかどうかを取得したい
□投稿者/ やす 一等兵(5回)-(2005/12/16(Fri) 09:36:04)

分類:[C#] 

じゃんぬさん、シャノンさんご回答ありがとうございます。

不勉強で申し訳ございませんが、CausesValidationですが、フォーカスを受け取ると検証が必要なコントロールかどうかを判断するフラグなだけで、
@ボタンがクリックされた。
Aボタンはクリックされてないが、ボタンにフォーカスがセットされた。(タブ遷移等で)
上記を判断する材料になるのでしょうか??

>ひとつ突っ込ませていただくと、そのイベント内でやりたいのが入力値の検証でないのならば、Validated イベントの方が適切かと思われます。

入力値の検証をやりたいと思っています。

ご迷惑おかけしますが宜しくお願い致します。


0
引用返信 編集キー/
■2149 / inTopicNo.9)  Re[4]: Leaveイベントでボタンがクリックされたかどうかを取得したい
□投稿者/ シャノン 伍長(13回)-(2005/12/16(Fri) 22:26:48)

分類:[C#] 

> 不勉強で申し訳ございませんが、CausesValidationですが、フォーカスを受け取ると検証が必要なコントロールかどうかを判断するフラグなだけで、
> @ボタンがクリックされた。
> Aボタンはクリックされてないが、ボタンにフォーカスがセットされた。(タブ遷移等で)
> 上記を判断する材料になるのでしょうか??

これを判断する必要があるのでしょうか?
言い換えれば、
(1)入力値の検証を必要としない
(2)入力値の検証を必要とする
ということですよね。

0
引用返信 編集キー/
■2158 / inTopicNo.10)  Re[5]: Leaveイベントでボタンがクリックされたかどうかを取得したい
□投稿者/ やす 一等兵(6回)-(2005/12/19(Mon) 10:03:27)

分類:[C#] 

シャノンさん ご回答ありがとうございます。

ボタン2を押下すると前画面へ遷移するようになるのですが、
現状のままですとボタン押下した場合でもチェックが走ってしまいます。
チェックが走っても前画面へ戻れるのは戻れるのですが、
メッセージが表示されてしまうので、
ボタン2を押下した場合はチェックを走らなくしたいので、
@ボタンがクリックされた
Aボタンはクリックされてないが、ボタンにフォーカスがセットされた。(タブ遷移等で)
と上記の2つを判断したいと思った次第です。

0
引用返信 編集キー/
■2164 / inTopicNo.11)  Re[6]: Leaveイベントでボタンがクリックされたかどうかを取得したい
□投稿者/ シャノン 伍長(14回)-(2005/12/20(Tue) 01:09:56)

分類:[C#] 

#インターネット上では丸囲み文字は使わないのがお約束です。

改めて読み返して、自分がすげぇ勘違いをしていたことに気がつきました。ごめんなさい。
ご希望の問題には、スマートな解決策が思いつきません(醜い解決策なら出てきそうですが)。
ただ、このように考えを変えてはどうだろうと思いつきました。

マウスではなく、キーボードでの操作を好む人もいる。
そのような人は、ボタンにフォーカスを移してから、Space キーか何かでクリックしたいと思うかもしれないが、提示された仕様ではそれが不可能である。
逆に考えれば、「ボタンにフォーカスを移す」ということは「次にクリックする」ということしか考えられないのだから、ボタンにフォーカスが移ってもチェックなしで問題ないのではないか。

0
引用返信 編集キー/
■2194 / inTopicNo.12)  Re[7]: Leaveイベントでボタンがクリックされたかどうかを取得したい
□投稿者/ やす 一等兵(7回)-(2005/12/22(Thu) 19:28:42)

分類:[C#] 

シャノンさん 返答が遅くなってしまって申し訳ございません。

>#インターネット上では丸囲み文字は使わないのがお約束です。

了解しました。以後気をつけたいと思います。

>ご希望の問題には、スマートな解決策が思いつきません(醜い解決策なら出てきそうですが)。

そうですか。やはり難しいのですねぇ・・・。
現在の仕様では入力値にエラーがあった場合、エラーがあったテキストボックスに
フォーカスを設定するようになっています。
ボタン2にフォーカスが遷移しただけであれば(クリックではなくて)、
入力チェックを行ってエラーがあった場合には該当テキストにフォーカスを設定してあげなくてはなりません。
ですのでシャノンさんがおっしゃられるようにボタンにフォーカスが移ってもチェックなしという訳にはいかないのが現状です。

いい解決策が思い浮かびませんので、とりあえずはボタン2を押下した時にもチェックイベントが走ってしまいますが、
現状のままで行きたいと思います。
ご回答頂きまして本当にありがとうございました。
また何かございましたら宜しくお願い致します。

0
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -