• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【C#】ラベルのダブルクリックについて)

【C#】ラベルのダブルクリックでテキストを代入する方法

このQ&Aのポイント
  • C#初心者の方からの質問です。現在、UserControl1を作成していますが、ラベルのダブルクリックで他のラベルにテキストを代入する方法がわかりません。
  • label1のクリックではパネルの背景色を変更する処理ができていますが、label1のダブルクリックが反応しない問題があります。
  • ご教授いただける方がいらっしゃいましたら、よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

VS2005で試してみましたが、ちゃんと動作しました。 原因としては、label1のDoubleClickイベントにlabel1_DoubleClickを呼び出すイベントハンドラが登録されていない、とか?? label1_DoubleClickメソッドを手書きしたのならその可能性があるかと。 その場合は、コンストラクタに次のコードを追加してみてください。 label1.DoubleClick += new EventHandler(label1_DoubleClick); また、ダブルクリックの場合でもクリックイベントは発生します。 完全に動作を分離する(ダブルクリック時はクリックイベント処理を行わない)には少々厄介かも。。。 クリック時にインターバルを0.5秒程度にしてタイマースタート。 ダブルクリックでなければ0.5秒後にタイマーのTickイベントでクリック時の処理を行う。 ダブルクリックだったらタイマー停止して、クリック処理を阻止。 以前は、こんな風に動作を分離したことがあります。.NETでも同じような手続きが必要になるのか、動作を分離してくれる機能があるのかは不明です。

sss-aoring
質問者

お礼

ご回答ありがとうございます。 ご指摘どおり、label1_DoubleClickメソッドを手書きしていたため、イベントハンドラが登録されていませんでした。 コードを追加すると、ちゃんと動作するようになりました! 今のところ、完全に分離しなくても問題なさそうです。 本当にありがとうございました!