Alex Jensen

Alex Jensen

  • NA
  • 1
  • 0

Handling Mouse Events problem code

Apr 16 2008 12:49 AM
This information was taken from this website: http://www.c-sharpcorner.com/UploadFile/mahesh/mouse_events12232005014128AM/mouse_events.aspx

Tools Used : Visual C# .NET

Handling events in C# is little bit tricky than in C++ or VB. In C#, you write a delegate and then write an event handler.  These event handlers are overridable public events defined in the Control or other WinForms classes. 

1. Write a Delegate

I want to handle Mouse Down events and do something when left or right mouse buttons are pressed. Write this line of code in your InitializeComponent function.

this.MouseDown += new System.WinForms.MouseEventHandler(this.Form_MouseDown);

2. Write the Event

Now you write the event handle. The output parameter of your event returns System.WinForms.MouseEventArgs object which gives you the details about mouse down such as what button is pressed or how many times. Here are MouseEventArgs members.

MouseEventArgs members

 

 

Button Indicates which mouse button was pressed. It could be Left, Right, Middle, or None.
Clicks Indicates the number of times the mouse button was pressed and released. 
Delta Indicates a signed count of the number of detents the mouse wheel has rotated. 
X The x-coordinate of mouse click.
Y The y-coordinate of  mouse click. 

Event Handler

private void Form_MouseDown(object sender, System.WinForms.MouseEventArgs e)
{
switch (e.Button)
{
case MouseButtons.Left:
MessageBox.Show(this,"Left Button Click");
break;
case MouseButtons.Right:
MessageBox.Show(this,"Right Button Click" );
break;
case MouseButtons.Middle:
break;
default:
break;
}
 
}
I am a newbie at this, and I do not understand what this means, or where I should put it! Please help ... this.MouseDown += new System.WinForms.MouseEventHandler(this.Form_MouseDown);

Then, I need to know where to put THIS!:
private void Form_MouseDown(object sender, System.WinForms.MouseEventArgs e)
{
switch (e.Button)
{
case MouseButtons.Left:
MessageBox.Show(this,"Left Button Click");
break;
case MouseButtons.Right:
MessageBox.Show(this,"Right Button Click" );
break;
case MouseButtons.Middle:
break;
default:
break;
}
 
}
Thanks in advance for any help.



Answers (1)