TextBox を Click したときの MouseDown イベントの拾い方
質問
2007年12月25日火曜日 3:58
TextBox を Click したときの MouseDown イベントの捕らえ方に関して
(以下は、Window >StackPanel > TextBox という親子関係にしてある。)
[1]XAML を使用する場合
<TextBox Name="textBox_1"
・ ・ ・ ・ ・ MouseDown="textBox_1_MouseDown" />
上記に対するハンドラー
① void textBox_1_MouseDown( sender object, RoutedEventArgs e )
この場合は、イベントに対応して、このハンドラーが呼び出されることは、
確認できております。
② void textBox_1_MouseDown( sender object
, MouseButtonEventArgs e )
この場合は、呼び出されないのですが、どういうことなのでしょうか。
[2]XAML を使用しない場合
この場合は、③④いずれもハンドラーが呼び出さるには至りません。
③ textBox_1.MouseDown
+= new RoutedEventHandler(txb_MouseDown);
void textBox_1_MouseDown( sender object, RoutedEventArgs e )
この組み合わせは、コンパイル段階でエラーになります。
④ textBox_1.MouseDown
+= new MouseButtonEventHandler(txb_MouseDown);
void textBox_1_MouseDown( sender object
, MouseButtonEventArgs e )
この組み合わせは、②と同様に呼び出されません。
デスクトップ・スタンドアロン・アプリケーションのみのアマチャプログラマーであり、個人的には、XAML は、実験用だけに使い、自分のライブラリーとアプリケーションは、XAMLを一切使用せず、C#コードのみで組み立てたいと思っております。
従って、[2]の場合の解決がつかないと困るのですが、宜しくお願いいたします(C# Express 使用)。
すべての返信 (2)
2007年12月25日火曜日 7:38 ✅回答済み
TextBoxのMouseDownイベントと基本的に取れない筈です。
http://msdn2.microsoft.com/ja-jp/library/ms750580(vs.80).aspx
参照。
[1]-丸1 でハンドラが呼び出されているとの事ですが、別な所から呼び出されたのではないでしょうか ?
2007年12月25日火曜日 11:12 ✅回答済み
**FC-Shiro 様
ありがとうございました。ご紹介いただいたドキュメントで解決いたしました。**
** [1] ① の結果について、不要なコントロールを取り除いてシンプルにして
みましたら、**
なるほど、ハンドラは呼び出されなくなりました。これで前に進めます。
-- 西方 --