.NET 2.0 TextBoxコントロールからMouseDownをキャプチャする方法はありますか? 継承されたControlクラスにはイベントがありますが、TextBoxでは公開されていません。 イベントハンドラをオーバーライドする方法はありますか?.NET TextBoxのMouseDownイベントを取得する
MouseDownイベントが公開されているOpenNETCF TextBox2コントロールも試しましたが、何をしてもハンドラは起動しません。
提案がありますか?あなたはそれがマウスを持って なければならないのクレイジーモバイルデバイスのどのような
? :)
はい、windows mobileには実際のマウスはありませんが、Windows Mobile .NETはMouseイベントをサポートしていないと誤解されています。画面上をクリックまたは移動することは、依然として「マウス」イベントとみなされます。このようにして、コードを完全なWindowsから簡単に移植できるようになりました。これはWindows Mobile固有の問題ではありません。 WindowsのTextBoxコントロールにはネイティブマウスイベントもありません。私はちょうどこの場合にWindows Mobileを使用していた。
編集:そしてサイドノート... Windows Mobileは組み込みデスクトップシステムやSlim Terminal Servicesクライアント(WinTerms)によく使用されるWindowsCEコアで構築されているため、ハードウェアマウスをサポートしています。長い間。ほとんどのデバイスはただで1を接続するポートはありません。
の.NET Frameworkによると、テキストボックス 上 のMouseDownイベントハンドラがサポートされています。 コードを実行しようとするとどうなりますか? おき他のフォームのコントロールも同様で
実は、それは、唯一そこには「コントロール」からそれを継承するためです。しかし、それはTextBoxクラスでオーバーライドされています。したがって、Visual StudioのIntelliSenseには表示されません。
しかし、あなたが実際にコードを書くことができます。
textBox1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.textBox1_MouseDown);
をし、それだけで罰金をコンパイルして実行されます、唯一の問題は、TextBoxコントロールをタップするとtextBox1_MouseDown()が発射されないことです。これは、イベントが内部的にオーバーライドされているためと考えられます。私はイベントの内部で何が起こっているのかを内部的に変更したくないので、他のイベントと同様に独自のイベントハンドラを追加してカスタムコードを起動することができます。
どのようなクレイジーモバイルデバイスにマウスがありますか? :)真剣に、MouseDownイベントがない理由は、Windows Mobileにマウスがないためです。 MouseDownイベントハンドラで何をしようとしていますか?多分別の方法があります。 – ageektrapped