C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[8]: Button上でのMouseUpイベント


(過去ログ 100 を表示中)

[トピック内 10 記事 (1 - 10 表示)]  << 0 >>

■60135 / inTopicNo.1)  Button上でのMouseUpイベント
  
□投稿者/ とも (1回)-(2011/06/21(Tue) 17:12:28)

分類:[C#] 

Windows 7
Visual Studio2010
C#で開発しています。

さっそくですが、
ButtonにMouseUpイベントを追加して、
MouseUpされた場合
メッセージを表示させるようにしています。

ですが、
右クリックをした場合
MouseUpイベントが起こるのですが
左クリックをした場合
MouseUpイベントは起こらず
Clickイベントが起こってしまいます。

左クリックでも
MouseUpイベントが起こる様に
設定できますでしょうか?

よろしくお願いいたします。
引用返信 編集キー/
■60137 / inTopicNo.2)  Re[1]: Button上でのMouseUpイベント
□投稿者/ 逆運の覇者 (7回)-(2011/06/21(Tue) 17:52:45)
MouseUpイベントが起こらないというのは、おかしいですね。
私の推測ですが、そのClickイベントの中でメッセージボックスを出していませんか?
だとするとメッセージボックスが表示されたときに必然的に、マウスボタンから指を離す動作をするので、
それがためにMouseUpが呼ばれなくなっているのでしょう。
マウスイベント発生のチェックであればメッセージボックスではなく、Labelなどで試すと良いでしょう。



そうでなければ、ボタンと関数の関連付けが間違っているか、です。
普通は
 private void button15_MouseUp(object sender, MouseEventArgs e)
となっているMouseClick関数が、関数名の重複を避けるために
 private void button15_MouseUp_1(object sender, MouseEventArgs e)
とかになっていませんか?
引用返信 編集キー/
■60158 / inTopicNo.3)  Re[2]: Button上でのMouseUpイベント
□投稿者/ とも (2回)-(2011/06/22(Wed) 08:43:02)
ありがとうございます。
No60137 (逆運の覇者 さん) に返信
> MouseUpイベントが起こらないというのは、おかしいですね。
> 私の推測ですが、そのClickイベントの中でメッセージボックスを出していませんか?
> だとするとメッセージボックスが表示されたときに必然的に、マウスボタンから指を離す動作をするので、
> それがためにMouseUpが呼ばれなくなっているのでしょう。
> マウスイベント発生のチェックであればメッセージボックスではなく、Labelなどで試すと良いでしょう。
Labelで試してみましたが、だめでした。

> そうでなければ、ボタンと関数の関連付けが間違っているか、です。
> 普通は
>  private void button15_MouseUp(object sender, MouseEventArgs e)
> となっているMouseClick関数が、関数名の重複を避けるために
>  private void button15_MouseUp_1(object sender, MouseEventArgs e)
> とかになっていませんか?
こちらも確認しましたが正しい関連付けになっていました。
引用返信 編集キー/
■60163 / inTopicNo.4)  Re[3]: Button上でのMouseUpイベント
□投稿者/ shu (798回)-(2011/06/22(Wed) 09:11:11)
No60158 (とも さん) に返信

vb.netですがLabel1にもLabel2にも表示されました。

    Private Sub Button1_MouseDown(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseDown
        Label1.Text = ""
        Label2.Text = ""
    End Sub

    Private Sub Button1_Click(sender As Object, e As System.EventArgs) Handles Button1.Click
        Label1.Text = "Button1.Click"
    End Sub

    Private Sub Button1_MouseUp(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseUp
        Label2.Text = "Button1.MouseUp"
    End Sub

引用返信 編集キー/
■60164 / inTopicNo.5)  Re[4]: Button上でのMouseUpイベント
□投稿者/ 桃汰 (2回)-(2011/06/22(Wed) 09:16:38)
2011/06/22(Wed) 09:18:37 編集(投稿者)

ミス
引用返信 編集キー/
■60166 / inTopicNo.6)  Re[5]: Button上でのMouseUpイベント
□投稿者/ とも (4回)-(2011/06/22(Wed) 09:17:34)
No60163 (shu さん) に返信
ありがとうございます。

> vb.netですがLabel1にもLabel2にも表示されました。
うーん・・・なんで表示されないんだろう。

引用返信 編集キー/
■60168 / inTopicNo.7)  Re[6]: Button上でのMouseUpイベント
□投稿者/ Hongliang (787回)-(2011/06/22(Wed) 09:21:23)
作成物が WPF or Silverlight ということはありませんか?
もしそうなら Preview 系のイベントを使ってください。
引用返信 編集キー/
■60170 / inTopicNo.8)  Re[7]: Button上でのMouseUpイベント
□投稿者/ Hongliang (788回)-(2011/06/22(Wed) 09:27:19)
あ、ついうっかり Silverlight まで含めちゃった。
Silverlight の場合は Preview 系イベントがないので、派生クラス作って OnMouseLeftButtonUp をオーバーライドすることになるかな。
引用返信 編集キー/
■60171 / inTopicNo.9)  Re[7]: Button上でのMouseUpイベント
□投稿者/ とも (5回)-(2011/06/22(Wed) 09:31:05)
No60168 (Hongliang さん) に返信
ありがとうございます。

> 作成物が WPF or Silverlight ということはありませんか?
> もしそうなら Preview 系のイベントを使ってください。
作成物はWPFです。

button1_PreviewMouseUpというものを使ってみましたが
動作は変わりなく、MouseUpが拾えていないようです。
引用返信 編集キー/
■60172 / inTopicNo.10)  Re[8]: Button上でのMouseUpイベント
□投稿者/ とも (6回)-(2011/06/22(Wed) 09:33:50)
No60171 (とも さん) に返信
> ■No60168 (Hongliang さん) に返信
> ありがとうございます。
>
>>作成物が WPF or Silverlight ということはありませんか?
>>もしそうなら Preview 系のイベントを使ってください。
> 作成物はWPFです。
>
> button1_PreviewMouseUpというものを使ってみましたが
> 動作は変わりなく、MouseUpが拾えていないようです。

今、ただのMouseUpイベントなど、
不要なものを消したら
button1_PreviewMouseUpでイベントが発生しました!
ありがとうございました!
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -