• 0

vb.net trap mouse click


Question

Hello folks!

I've been looking for a way to act on a mouse click that is performed anywhere on a form. As an example, is there any way that I could get a msgbox to pop up if the righ mouse button is clicked anywhere on a form, even if it is on a control?

Thanks guys. :)

Link to comment
https://www.neowin.net/forum/topic/236949-vbnet-trap-mouse-click/
Share on other sites

12 answers to this question

Recommended Posts

  • 0

Here you go

Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseDown

Select Case e.Button

Case MouseButtons.Left

MsgBox("LEFT")

Case MouseButtons.Right

MsgBox("RIGHT")

Case MouseButtons.Middle

MsgBox("MIDDLE")

End Select

End Sub

  • 0
  petroid said:
That code works for a blank form, but it doesn't affect a groupbox or mozilla control... Any other suggestions? :)

584826099[/snapback]

someone correct me if i'm wrong, but i don't think there's a simple way to do this.

but one method would be to hook all of the _Click events of the controls into the same handler as the form (you can have it hooked into multiple places so it doesn't interfere with the other functionality) and that might work.

  • 0

You are correct. There is no simple way to do this, as each control has it's own functions/methods. The control is on top of the form and there is no way to have a mouse event call the form's mouse event UNLESS you specifically have the control's Mouse event call the form's mouse event.

I guess the real question is WHY would a person want this functionality. What sort of issue are you trying to deal with and why would you want a generic event to happen for all controls. (hey, there could be a reason... *I* just don't know of one)

  • 0

If you wanted, you could try this..... but you'd have to add each thing in your form.

   Private Sub Universal_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles _
    Button1.MouseDown, Label1.MouseDown, MyBase.MouseDown, TextBox1.MouseDown
        MsgBox("Hello!")
    End Sub

  • 0

Ok heres an example :)

//Doing this will block all mouseup messages to button1
Application.AddMessageFilter(new MessageFilter(button1.Handle, 0x0205 /*WM_RBUTTONUP (Right mouse button up!*/));


......


	public class MessageFilter : IMessageFilter
	{
 ?public MessageFilter(IntPtr handle, int msg)
 ?{
 ?	Handle = handle;
 ?	Msg = msg;
 ?}

 ?private IntPtr Handle;
 ?private int Msg;

 ?public bool PreFilterMessage(ref Message m)
 ?{
 ?	if (m.HWnd == Handle)
 ?	{
 ? ?if (m.Msg == Msg)
 ? ?{
 ? ?	return true;
 ? ?}
 ?	}
 ?	return false;
 ?}
	}

Dan

Edited by dannyres
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Something like this https://www.neowin.net/news/wi...ashes-when-launching-games/ you mean?
    • Valerion StreamMaster Plus2 4K Dolby Vision gaming projector is $300 off with promo coupon by Sayan Sen If you are in the market for a premium projector, you should have a look at the Valerion StreamMaster Plus2 4K Gaming Projector. The product is designed primarily for gaming and multimedia use and promises an excellent "smoother streaming experience" compared to other projectors in its class. The projector supports "true" 4K Ultra HD, which should provide clear images for detailed gaming environments and media playback. The brightness level of 2000 lumens intends to make the device usable in various ambient lighting conditions, from dim gaming rooms to brighter living areas. And in terms of audio, it packs an S/PDIF for digital audio out. The key technical specifications of the Valerion StreamMaster Plus2 4K Gaming Projector are given below: Brightness: 2000 ISO Lumens Light Source: RGB triple laser Contrast Ratio: 10000:1 with EBL Mode (EBL = enhanced black level) Color Gamut: 110% Rec.2020 Throw Ratio: Fixed 1.2:1 (supports screen sizes up to 300 inches) Dynamic Tone Mapping: Enabled HDR and 3D Support: Supports IMAX Enhanced, Dolby Vision, HDR10+, Active 3D, Filmmaker Mode Google TV OS AI-SoC MT9618, 4 GB RAM and 128 GB ROM Input Lag: 4ms at 1080P@240Hz, 8ms at 1080P@120Hz, 15ms at 4K@60Hz Wi-Fi 6e, Bluetooth 5.2 Typically, it is listed at $1999. However, the projector is currently available for $1699, thanks to a special promo code, making it an attractive option for those looking to upgrade their gaming or home cinema setup. Get it at the link below: StreamMaster Plus2 4K Gaming Projector - 300" IMAX Enhanced Home Theater, 3D & Dolby Vision, HDR10+: $1999 + $300 off with promo code "VALERION" at checkout => $1699.00 (Shipped by Amazon, Sold by Valerion) This Amazon deal is US-specific and not available in other regions unless specified. If you don't like it or want to look at more options, check out the Amazon US deals page here. Get Prime (SNAP), Prime Video, Audible Plus or Kindle / Music Unlimited. Free for 30 days. As an Amazon Associate, we earn from qualifying purchases.
    • Yeah you are reading different article. Does your article talk about Elon's big dong and has video him naked by any chance? I think the problem is you are commenting on the wrong tab you are actually viewing. Sorry the Telsa you buy is not the same product these robotaxi's will be. WTF? Funny how you didn't even reply to Steven's comment here. Thanks for playing but you are getting all worked up and saying ###### you wouldn't to anyone's face so we are done.
    • Nobody is saying this is fake news and nobody is claiming that self-driving technology is perfect. 🙄 Come back to reality... Based on your source, the number of autonomous vehicle incidents is on a downward trajectory. And that's compounded by the fact that there are more and more of them on the road every month. Since the tech is improving, the data is supporting that. Now also consider that there are 6 million auto accidents every year in the US and 40,000 deaths. Compare that to 1,000 self-driving accidents we're on track for this year sprinkled in with a few deaths. That's a drop in the bucket. It's not only crazy, but ignorant to still think that self-driving cars aren't the solution for saving lives on the road. It's just common sense. It's a shame that Tesla is the only company doing this well and everybody else needs to get their act together. What's more alarming is that Waymo has over 400 incidents in 5 years and they only have 1500 cars on the road. That just goes to show how mediocre their technology is.
    • the fact Mac OS could do this FOREVER and windows never did it natively was always a meh to me...
  • Recent Achievements

    • Apprentice
      Cole Multipass went up a rank
      Apprentice
    • Posting Machine
      David Uzondu earned a badge
      Posting Machine
    • One Month Later
      Stokenking earned a badge
      One Month Later
    • One Month Later
      Kevin Jones earned a badge
      One Month Later
    • Week One Done
      Kevin Jones earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      536
    2. 2
      ATLien_0
      263
    3. 3
      +Edouard
      195
    4. 4
      +FloatingFatMan
      184
    5. 5
      snowy owl
      135
  • Tell a friend

    Love Neowin? Tell a friend!