C#でWindowsフォームを使用しています。
toolStripButtonsを含むいくつかのツールバーを備えたメインフォームがあります。データを含む別のフォームを操作した後、メインフォームはフォーカスを失い、toolStripButtonをクリックしてもOnClickイベントはトリガーされません。最初のクリックでメインフォームがアクティブになり、2回目のクリックで実際にボタンが押されます。Clickイベントをトリガーするためにユーザーがボタンを1回だけクリックする必要がありますが、その方法について何かアイデアはありますか?ありがとう。
ノート:
- 私はMDIを使用していましたが、親のフォームボタンをクリックしても問題はありませんでした。しかし今、最も重要なのは、フォームを複数のディスプレイに自由に浮かせることです。
- ワーカーフォームにはOwnerプロパティとしてメインフォームがあり、このようにしてメインフォームの上に留まります。
- 非アクティブなフォームのボタンをクリックしても、MouseHover、MouseEnter、MouseDown、MouseUpのいずれも起動しません。発生するのは、メインフォームのActivateイベントです。
- メインフォームには、treeView(tabControl内、splitContainer内、パネル内)があります。メインフォームが非アクティブであっても、そのアイテムは最初のマウスクリックで選択されます。すべてのコントロールが同じというわけではないと思います!