DOBON.NETプログラミング道掲示板
HOME
HELP
新規作成
新着記事
ツリー表示
スレッド表示
トピック表示
発言ランク
ファイル一覧
検索
過去ログ
No34597 の記事
■34597
/ )
Re[3]: 新たにshowしたフォームでのボタンのクリック
□投稿者/ 魔界の仮面弁士
大御所(1309回)-(2020/12/11(Fri) 10:17:43)
■
No34596
に返信(未熟者ケンイチさんの記事)
> どうも「1回目のクリックでフォームがアクティブ?になり、
> 2回目のクリックでボタンクリックが認識されている」感じです。
そのあたりの動作は、コントロールによっても異なっており、
たとえば Button と ToolStripButton でも異なる動作となります。
具体的には、非アクティブフォームの ToolStripButton をクリックした場合、
初回はボタンが動作せず、単にフォームがアクティブ化するだけで、
2 回目のクリックで、ようやくボタンが押されることになります。
もしも一回のクリックでアクティブ化とボタン動作を同時にこなしたい場合、
該当コントロールの WndProc をオーバーライドして、
WM_MOUSEACTIVATE 時の戻り値を、MA_ACTIVATEANDEAT から
MA_ACTIVATE に差し替える必要が生じます。
https://docs.microsoft.com/ja-jp/windows/win32/inputdev/wm-mouseactivate
https://docs.microsoft.com/en-us/archive/blogs/rickbrew/how-to-enable-click-through-for-net-2-0-toolstrip-and-menustrip
あるいは、コントロールの種類が他のフォームの場合と同様であるのに
該当フォームだけ動作が異なるというのであれば、継承フォームや
NativeWindow クラスで処理されている可能性、あるいは別の UI スレッドで
動作していたために、フォーカス遷移が阻害されている箇所があったなどの
理由かもしれません。ソースを追わないと何とも言えないですが。
違反を報告
Javascriptを有効にしてください
この投稿が掲示板のルールに違反しており、何らかの対処が必要であると思われる場合は、以下のフォームを利用して管理人に報告することができます。
マルチポストの報告は、
返信フォーム
の上にある「マルチポストの報告」リンクをご利用ください。
この機能の悪用は絶対にしないでください。
悪用されたと管理人が判断した場合は、予告なしで厳しい対処がなされる可能性があります。
確認等の目的で、入力されたメールアドレス宛に返信メールが送信される可能性があります。メールの受信ができないメールアドレスは入力しないでください。
下のフォームが使用できない場合は、
メールフォーム
を使って管理人にご報告ください。
お名前(必須)
メールアドレス(必須)
本文(必須)
(違反理由など)
返信
削除キー/
編集
削除
Mode/
通常管理
表示許可
Pass/
HOME
HELP
新規作成
新着記事
ツリー表示
スレッド表示
トピック表示
発言ランク
ファイル一覧
検索
過去ログ
-
Child Tree
-