Control.MouseWheel イベント
定義
コントロールにフォーカスがある間に、マウスのホイールを移動したときに発生します。Occurs when the mouse wheel moves while the control has focus.
public:
event System::Windows::Forms::MouseEventHandler ^ MouseWheel;
[System.ComponentModel.Browsable(false)]
public event System.Windows.Forms.MouseEventHandler MouseWheel;
[<System.ComponentModel.Browsable(false)>]
member this.MouseWheel : System.Windows.Forms.MouseEventHandler
Public Custom Event MouseWheel As MouseEventHandler
イベントの種類
- 属性
例
次のコード例は、さまざまなマウスイベントを使用して、上のマウスのパスを描画する方法を示して Panel います。The following code example demonstrates using different mouse events to draw the path of the mouse on a Panel. イベントが発生するたびに、行セグメントがに追加され GraphicsPath MouseMove MouseDown ます。A line segment is added to the GraphicsPath for each MouseMove and MouseDown events that occur. グラフィックスを更新するために、 Invalidate メソッドは、 Panel との各イベントに対して呼び出され MouseDown
MouseUp
ます。To update the graphics, the Invalidate method is called for the Panel on each MouseDown
and MouseUp
event. また、イベントが発生すると、グラフィックパスが上下にスクロールされ MouseWheel ます。In addition, the graphic path is scrolled up or down when the MouseWheel event occurs. などの追加のマウスイベント MouseHover も画面で識別されます。Additional mouse events, like MouseHover, are identified on screen as well. また、画面には、クラスからのマウスに関する追加情報も表示され SystemInformation ます。Also displayed on the screen is additional information about the mouse from the SystemInformation class.
#using <System.dll>
#using <System.Windows.Forms.dll>
#using <System.Drawing.dll>
using namespace System;
using namespace System::Drawing;
using namespace System::Windows::Forms;
namespace MouseEvent
{
public ref class Form1: public System::Windows::Forms::Form
{
private:
System::Windows::Forms::Panel^ panel1;
System::Windows::Forms::Label ^ label1;
System::Windows::Forms::Label ^ label2;
System::Windows::Forms::Label ^ label3;
System::Windows::Forms::Label ^ label4;
System::Windows::Forms::Label ^ label5;
System::Windows::Forms::Label ^ label6;
System::Windows::Forms::Label ^ label7;
System::Windows::Forms::Label ^ label8;
System::Windows::Forms::Label ^ label9;
System::Windows::Forms::Button^ clearButton;
System::Drawing::Drawing2D::GraphicsPath^ mousePath;
System::Windows::Forms::GroupBox^ groupBox1;
int fontSize;
public:
Form1()
{
fontSize = 20;
mousePath = gcnew System::Drawing::Drawing2D::GraphicsPath;
this->panel1 = gcnew System::Windows::Forms::Panel;
this->label1 = gcnew System::Windows::Forms::Label;
this->clearButton = gcnew System::Windows::Forms::Button;
this->label2 = gcnew System::Windows::Forms::Label;
this->label3 = gcnew System::Windows::Forms::Label;
this->label4 = gcnew System::Windows::Forms::Label;
this->label5 = gcnew System::Windows::Forms::Label;
this->label6 = gcnew System::Windows::Forms::Label;
this->label7 = gcnew System::Windows::Forms::Label;
this->label8 = gcnew System::Windows::Forms::Label;
this->label9 = gcnew System::Windows::Forms::Label;
this->groupBox1 = gcnew System::Windows::Forms::GroupBox;
// Mouse Events Label
this->label1->Location = System::Drawing::Point( 24, 504 );
this->label1->Size = System::Drawing::Size( 392, 23 );
// DoubleClickSize Label
this->label2->AutoSize = true;
this->label2->Location = System::Drawing::Point( 24, 48 );
this->label2->Size = System::Drawing::Size( 35, 13 );
// DoubleClickTime Label
this->label3->AutoSize = true;
this->label3->Location = System::Drawing::Point( 24, 72 );
this->label3->Size = System::Drawing::Size( 35, 13 );
// MousePresent Label
this->label4->AutoSize = true;
this->label4->Location = System::Drawing::Point( 24, 96 );
this->label4->Size = System::Drawing::Size( 35, 13 );
// MouseButtons Label
this->label5->AutoSize = true;
this->label5->Location = System::Drawing::Point( 24, 120 );
this->label5->Size = System::Drawing::Size( 35, 13 );
// MouseButtonsSwapped Label
this->label6->AutoSize = true;
this->label6->Location = System::Drawing::Point( 320, 48 );
this->label6->Size = System::Drawing::Size( 35, 13 );
// MouseWheelPresent Label
this->label7->AutoSize = true;
this->label7->Location = System::Drawing::Point( 320, 72 );
this->label7->Size = System::Drawing::Size( 35, 13 );
// MouseWheelScrollLines Label
this->label8->AutoSize = true;
this->label8->Location = System::Drawing::Point( 320, 96 );
this->label8->Size = System::Drawing::Size( 35, 13 );
// NativeMouseWheelSupport Label
this->label9->AutoSize = true;
this->label9->Location = System::Drawing::Point( 320, 120 );
this->label9->Size = System::Drawing::Size( 35, 13 );
// Mouse Panel
this->panel1->Anchor = static_cast<System::Windows::Forms::AnchorStyles>(System::Windows::Forms::AnchorStyles::Top | System::Windows::Forms::AnchorStyles::Left | System::Windows::Forms::AnchorStyles::Right);
this->panel1->BackColor = System::Drawing::SystemColors::ControlDark;
this->panel1->Location = System::Drawing::Point( 16, 160 );
this->panel1->Size = System::Drawing::Size( 664, 320 );
this->panel1->MouseUp += gcnew System::Windows::Forms::MouseEventHandler( this, &Form1::panel1_MouseUp );
this->panel1->Paint += gcnew System::Windows::Forms::PaintEventHandler( this, &Form1::panel1_Paint );
this->panel1->MouseEnter += gcnew System::EventHandler( this, &Form1::panel1_MouseEnter );
this->panel1->MouseHover += gcnew System::EventHandler( this, &Form1::panel1_MouseHover );
this->panel1->MouseMove += gcnew System::Windows::Forms::MouseEventHandler( this, &Form1::panel1_MouseMove );
this->panel1->MouseLeave += gcnew System::EventHandler( this, &Form1::panel1_MouseLeave );
this->panel1->MouseDown += gcnew System::Windows::Forms::MouseEventHandler( this, &Form1::panel1_MouseDown );
this->panel1->MouseWheel += gcnew System::Windows::Forms::MouseEventHandler( this, &Form1::panel1_MouseWheel );
// Clear Button
this->clearButton->Anchor = static_cast<System::Windows::Forms::AnchorStyles>(System::Windows::Forms::AnchorStyles::Top | System::Windows::Forms::AnchorStyles::Right);
this->clearButton->Location = System::Drawing::Point( 592, 504 );
this->clearButton->TabIndex = 1;
this->clearButton->Text = "Clear";
this->clearButton->Click += gcnew System::EventHandler( this, &Form1::clearButton_Click );
// GroupBox
this->groupBox1->Anchor = static_cast<System::Windows::Forms::AnchorStyles>(System::Windows::Forms::AnchorStyles::Top | System::Windows::Forms::AnchorStyles::Left | System::Windows::Forms::AnchorStyles::Right);
this->groupBox1->Location = System::Drawing::Point( 16, 24 );
this->groupBox1->Size = System::Drawing::Size( 664, 128 );
this->groupBox1->Text = "System::Windows::Forms::SystemInformation";
// Set up how the form should be displayed and add the controls to the form.
this->ClientSize = System::Drawing::Size( 696, 534 );
array<System::Windows::Forms::Control^>^temp0 = {this->label9,this->label8,this->label7,this->label6,this->label5,this->label4,this->label3,this->label2,this->clearButton,this->panel1,this->label1,this->groupBox1};
this->Controls->AddRange( temp0 );
this->Text = "Mouse Event Example";
// Displays information about the system mouse.
label2->Text = "SystemInformation::DoubleClickSize: {0}",SystemInformation::DoubleClickSize;
label3->Text = "SystemInformation::DoubleClickTime: {0}",SystemInformation::DoubleClickTime;
label4->Text = "SystemInformation::MousePresent: {0}",SystemInformation::MousePresent;
label5->Text = "SystemInformation::MouseButtons: {0}",SystemInformation::MouseButtons;
label6->Text = "SystemInformation::MouseButtonsSwapped: {0}",SystemInformation::MouseButtonsSwapped;
label7->Text = "SystemInformation::MouseWheelPresent: {0}",SystemInformation::MouseWheelPresent;
label8->Text = "SystemInformation::MouseWheelScrollLines: {0}",SystemInformation::MouseWheelScrollLines;
label9->Text = "SystemInformation::NativeMouseWheelSupport: {0}",SystemInformation::NativeMouseWheelSupport;
}
private:
void panel1_MouseDown( Object^ /*sender*/, System::Windows::Forms::MouseEventArgs^ e )
{
// Update the mouse path with the mouse information
Point mouseDownLocation = Point(e->X,e->Y);
String^ eventString = nullptr;
switch ( e->Button )
{
case ::MouseButtons::Left:
eventString = "L";
break;
case ::MouseButtons::Right:
eventString = "R";
break;
case ::MouseButtons::Middle:
eventString = "M";
break;
case ::MouseButtons::XButton1:
eventString = "X1";
break;
case ::MouseButtons::XButton2:
eventString = "X2";
break;
case ::MouseButtons::None:
default:
break;
}
if ( eventString != nullptr )
{
mousePath->AddString( eventString, FontFamily::GenericSerif, (int)FontStyle::Bold, (float)fontSize, mouseDownLocation, StringFormat::GenericDefault );
}
else
{
mousePath->AddLine( mouseDownLocation, mouseDownLocation );
}
panel1->Focus();
panel1->Invalidate();
}
void panel1_MouseEnter( Object^ sender, System::EventArgs^ /*e*/ )
{
// Update the mouse event label to indicate the MouseEnter event occurred.
label1->Text = String::Concat( sender->GetType(), ": MouseEnter" );
}
void panel1_MouseHover( Object^ sender, System::EventArgs^ /*e*/ )
{
// Update the mouse event label to indicate the MouseHover event occurred.
label1->Text = String::Concat( sender->GetType(), ": MouseHover" );
}
void panel1_MouseLeave( Object^ sender, System::EventArgs^ /*e*/ )
{
// Update the mouse event label to indicate the MouseLeave event occurred.
label1->Text = String::Concat( sender->GetType(), ": MouseLeave" );
}
void panel1_MouseMove( Object^ /*sender*/, System::Windows::Forms::MouseEventArgs^ e )
{
// Update the mouse path that is drawn onto the Panel.
int mouseX = e->X;
int mouseY = e->Y;
mousePath->AddLine( mouseX, mouseY, mouseX, mouseY );
}
void panel1_MouseWheel( Object^ /*sender*/, System::Windows::Forms::MouseEventArgs^ e )
{
// Update the drawing based upon the mouse wheel scrolling.
int numberOfTextLinesToMove = e->Delta * SystemInformation::MouseWheelScrollLines / 120;
int numberOfPixelsToMove = numberOfTextLinesToMove * fontSize;
if ( numberOfPixelsToMove != 0 )
{
System::Drawing::Drawing2D::Matrix^ translateMatrix = gcnew System::Drawing::Drawing2D::Matrix;
translateMatrix->Translate( 0, (float)numberOfPixelsToMove );
mousePath->Transform(translateMatrix);
}
panel1->Invalidate();
}
void panel1_MouseUp( Object^ /*sender*/, System::Windows::Forms::MouseEventArgs^ e )
{
Point mouseUpLocation = System::Drawing::Point( e->X, e->Y );
// Show the number of clicks in the path graphic.
int numberOfClicks = e->Clicks;
mousePath->AddString( String::Format( " {0}", numberOfClicks ), FontFamily::GenericSerif, (int)FontStyle::Bold, (float)fontSize, mouseUpLocation, StringFormat::GenericDefault );
panel1->Invalidate();
}
void panel1_Paint( Object^ /*sender*/, System::Windows::Forms::PaintEventArgs^ e )
{
// Perform the painting of the Panel.
e->Graphics->DrawPath( System::Drawing::Pens::DarkRed, mousePath );
}
void clearButton_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ )
{
// Clear the Panel display.
delete mousePath;
mousePath = gcnew System::Drawing::Drawing2D::GraphicsPath;
panel1->Invalidate();
}
};
}
[STAThread]
int main()
{
Application::Run( gcnew MouseEvent::Form1 );
}
using System;
using System.Drawing;
using System.Windows.Forms;
namespace MouseEvent
{
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.Label label9;
private System.Windows.Forms.Button clearButton;
private System.Drawing.Drawing2D.GraphicsPath mousePath;
private System.Windows.Forms.GroupBox groupBox1;
private int fontSize = 20;
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
public Form1()
{
mousePath = new System.Drawing.Drawing2D.GraphicsPath();
this.panel1 = new System.Windows.Forms.Panel();
this.label1 = new System.Windows.Forms.Label();
this.clearButton = new System.Windows.Forms.Button();
this.label2 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.label5 = new System.Windows.Forms.Label();
this.label6 = new System.Windows.Forms.Label();
this.label7 = new System.Windows.Forms.Label();
this.label8 = new System.Windows.Forms.Label();
this.label9 = new System.Windows.Forms.Label();
this.groupBox1 = new System.Windows.Forms.GroupBox();
// Mouse Events Label
this.label1.Location = new System.Drawing.Point(24, 504);
this.label1.Size = new System.Drawing.Size(392, 23);
// DoubleClickSize Label
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(24, 48);
this.label2.Size = new System.Drawing.Size(35, 13);
// DoubleClickTime Label
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(24, 72);
this.label3.Size = new System.Drawing.Size(35, 13);
// MousePresent Label
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(24, 96);
this.label4.Size = new System.Drawing.Size(35, 13);
// MouseButtons Label
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(24, 120);
this.label5.Size = new System.Drawing.Size(35, 13);
// MouseButtonsSwapped Label
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(320, 48);
this.label6.Size = new System.Drawing.Size(35, 13);
// MouseWheelPresent Label
this.label7.AutoSize = true;
this.label7.Location = new System.Drawing.Point(320, 72);
this.label7.Size = new System.Drawing.Size(35, 13);
// MouseWheelScrollLines Label
this.label8.AutoSize = true;
this.label8.Location = new System.Drawing.Point(320, 96);
this.label8.Size = new System.Drawing.Size(35, 13);
// NativeMouseWheelSupport Label
this.label9.AutoSize = true;
this.label9.Location = new System.Drawing.Point(320, 120);
this.label9.Size = new System.Drawing.Size(35, 13);
// Mouse Panel
this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right);
this.panel1.BackColor = System.Drawing.SystemColors.ControlDark;
this.panel1.Location = new System.Drawing.Point(16, 160);
this.panel1.Size = new System.Drawing.Size(664, 320);
this.panel1.MouseUp += new System.Windows.Forms.MouseEventHandler(this.panel1_MouseUp);
this.panel1.Paint += new System.Windows.Forms.PaintEventHandler(this.panel1_Paint);
this.panel1.MouseEnter += new System.EventHandler(this.panel1_MouseEnter);
this.panel1.MouseHover += new System.EventHandler(this.panel1_MouseHover);
this.panel1.MouseMove += new System.Windows.Forms.MouseEventHandler(this.panel1_MouseMove);
this.panel1.MouseLeave += new System.EventHandler(this.panel1_MouseLeave);
this.panel1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.panel1_MouseDown);
this.panel1.MouseWheel += new System.Windows.Forms.MouseEventHandler(this.panel1_MouseWheel);
// Clear Button
this.clearButton.Anchor = (System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right);
this.clearButton.Location = new System.Drawing.Point(592, 504);
this.clearButton.TabIndex = 1;
this.clearButton.Text = "Clear";
this.clearButton.Click += new System.EventHandler(this.clearButton_Click);
// GroupBox
this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right);
this.groupBox1.Location = new System.Drawing.Point(16, 24);
this.groupBox1.Size = new System.Drawing.Size(664, 128);
this.groupBox1.Text = "System.Windows.Forms.SystemInformation";
// Set up how the form should be displayed and add the controls to the form.
this.ClientSize = new System.Drawing.Size(696, 534);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.label9,this.label8,this.label7,this.label6,
this.label5,this.label4,this.label3,this.label2,
this.clearButton,this.panel1,this.label1,this.groupBox1});
this.Text = "Mouse Event Example";
// Displays information about the system mouse.
label2.Text = "SystemInformation.DoubleClickSize: " + SystemInformation.DoubleClickSize.ToString();
label3.Text = "SystemInformation.DoubleClickTime: " + SystemInformation.DoubleClickTime.ToString();
label4.Text = "SystemInformation.MousePresent: " + SystemInformation.MousePresent.ToString();
label5.Text = "SystemInformation.MouseButtons: " + SystemInformation.MouseButtons.ToString();
label6.Text = "SystemInformation.MouseButtonsSwapped: " + SystemInformation.MouseButtonsSwapped.ToString();
label7.Text = "SystemInformation.MouseWheelPresent: " + SystemInformation.MouseWheelPresent.ToString();
label8.Text = "SystemInformation.MouseWheelScrollLines: " + SystemInformation.MouseWheelScrollLines.ToString();
label9.Text = "SystemInformation.NativeMouseWheelSupport: " + SystemInformation.NativeMouseWheelSupport.ToString();
}
private void panel1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
// Update the mouse path with the mouse information
Point mouseDownLocation = new Point(e.X, e.Y);
string eventString = null;
switch (e.Button) {
case MouseButtons.Left:
eventString = "L";
break;
case MouseButtons.Right:
eventString = "R";
break;
case MouseButtons.Middle:
eventString = "M";
break;
case MouseButtons.XButton1:
eventString = "X1";
break;
case MouseButtons.XButton2:
eventString = "X2";
break;
case MouseButtons.None:
default:
break;
}
if (eventString != null)
{
mousePath.AddString(eventString, FontFamily.GenericSerif, (int)FontStyle.Bold, fontSize, mouseDownLocation, StringFormat.GenericDefault);
}
else
{
mousePath.AddLine(mouseDownLocation,mouseDownLocation);
}
panel1.Focus();
panel1.Invalidate();
}
private void panel1_MouseEnter(object sender, System.EventArgs e)
{
// Update the mouse event label to indicate the MouseEnter event occurred.
label1.Text = sender.GetType().ToString() + ": MouseEnter";
}
private void panel1_MouseHover(object sender, System.EventArgs e)
{
// Update the mouse event label to indicate the MouseHover event occurred.
label1.Text = sender.GetType().ToString() + ": MouseHover";
}
private void panel1_MouseLeave(object sender, System.EventArgs e)
{
// Update the mouse event label to indicate the MouseLeave event occurred.
label1.Text = sender.GetType().ToString() + ": MouseLeave";
}
private void panel1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
{
// Update the mouse path that is drawn onto the Panel.
int mouseX = e.X;
int mouseY = e.Y;
mousePath.AddLine(mouseX,mouseY,mouseX,mouseY);
}
private void panel1_MouseWheel(object sender, System.Windows.Forms.MouseEventArgs e)
{
// Update the drawing based upon the mouse wheel scrolling.
int numberOfTextLinesToMove = e.Delta * SystemInformation.MouseWheelScrollLines / 120;
int numberOfPixelsToMove = numberOfTextLinesToMove * fontSize;
if (numberOfPixelsToMove != 0) {
System.Drawing.Drawing2D.Matrix translateMatrix = new System.Drawing.Drawing2D.Matrix();
translateMatrix.Translate(0, numberOfPixelsToMove);
mousePath.Transform(translateMatrix);
}
panel1.Invalidate();
}
private void panel1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
{
Point mouseUpLocation = new System.Drawing.Point(e.X, e.Y);
// Show the number of clicks in the path graphic.
int numberOfClicks = e.Clicks;
mousePath.AddString(" " + numberOfClicks.ToString(),
FontFamily.GenericSerif, (int)FontStyle.Bold,
fontSize, mouseUpLocation, StringFormat.GenericDefault);
panel1.Invalidate();
}
private void panel1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
// Perform the painting of the Panel.
e.Graphics.DrawPath(System.Drawing.Pens.DarkRed, mousePath);
}
private void clearButton_Click(object sender, System.EventArgs e)
{
// Clear the Panel display.
mousePath.Dispose();
mousePath = new System.Drawing.Drawing2D.GraphicsPath();
panel1.Invalidate();
}
}
}
Imports System.Drawing
Imports System.Windows.Forms
Namespace MouseEvent
' Summary description for Form1.
Public NotInheritable Class Form1
Inherits System.Windows.Forms.Form
Friend WithEvents panel1 As System.Windows.Forms.Panel
Private label1 As System.Windows.Forms.Label
Private label2 As System.Windows.Forms.Label
Private label3 As System.Windows.Forms.Label
Private label4 As System.Windows.Forms.Label
Private label5 As System.Windows.Forms.Label
Private label6 As System.Windows.Forms.Label
Private label7 As System.Windows.Forms.Label
Private label8 As System.Windows.Forms.Label
Private label9 As System.Windows.Forms.Label
Friend WithEvents clearButton As System.Windows.Forms.Button
Private mousePath As System.Drawing.Drawing2D.GraphicsPath
Private groupBox1 As System.Windows.Forms.GroupBox
Private fontSize As Integer = 20
<System.STAThread()> _
Public Shared Sub Main()
System.Windows.Forms.Application.Run(New Form1())
End Sub
Public Sub New()
mousePath = New System.Drawing.Drawing2D.GraphicsPath()
Me.panel1 = New System.Windows.Forms.Panel()
Me.label1 = New System.Windows.Forms.Label()
Me.clearButton = New System.Windows.Forms.Button()
Me.label2 = New System.Windows.Forms.Label()
Me.label3 = New System.Windows.Forms.Label()
Me.label4 = New System.Windows.Forms.Label()
Me.label5 = New System.Windows.Forms.Label()
Me.label6 = New System.Windows.Forms.Label()
Me.label7 = New System.Windows.Forms.Label()
Me.label8 = New System.Windows.Forms.Label()
Me.label9 = New System.Windows.Forms.Label()
Me.groupBox1 = New System.Windows.Forms.GroupBox()
' Mouse Events Label
Me.label1.Location = New System.Drawing.Point(24, 504)
Me.label1.Size = New System.Drawing.Size(392, 23)
' DoubleClickSize Label
Me.label2.AutoSize = True
Me.label2.Location = New System.Drawing.Point(24, 48)
Me.label2.Size = New System.Drawing.Size(35, 13)
' DoubleClickTime Label
Me.label3.AutoSize = True
Me.label3.Location = New System.Drawing.Point(24, 72)
Me.label3.Size = New System.Drawing.Size(35, 13)
' MousePresent Label
Me.label4.AutoSize = True
Me.label4.Location = New System.Drawing.Point(24, 96)
Me.label4.Size = New System.Drawing.Size(35, 13)
' MouseButtons Label
Me.label5.AutoSize = True
Me.label5.Location = New System.Drawing.Point(24, 120)
Me.label5.Size = New System.Drawing.Size(35, 13)
' MouseButtonsSwapped Label
Me.label6.AutoSize = True
Me.label6.Location = New System.Drawing.Point(320, 48)
Me.label6.Size = New System.Drawing.Size(35, 13)
' MouseWheelPresent Label
Me.label7.AutoSize = True
Me.label7.Location = New System.Drawing.Point(320, 72)
Me.label7.Size = New System.Drawing.Size(35, 13)
' MouseWheelScrollLines Label
Me.label8.AutoSize = True
Me.label8.Location = New System.Drawing.Point(320, 96)
Me.label8.Size = New System.Drawing.Size(35, 13)
' NativeMouseWheelSupport Label
Me.label9.AutoSize = True
Me.label9.Location = New System.Drawing.Point(320, 120)
Me.label9.Size = New System.Drawing.Size(35, 13)
' Mouse Panel
Me.panel1.Anchor = System.Windows.Forms.AnchorStyles.Top Or _
System.Windows.Forms.AnchorStyles.Left Or _
System.Windows.Forms.AnchorStyles.Right
Me.panel1.BackColor = System.Drawing.SystemColors.ControlDark
Me.panel1.Location = New System.Drawing.Point(16, 160)
Me.panel1.Size = New System.Drawing.Size(664, 320)
' Clear Button
Me.clearButton.Anchor = System.Windows.Forms.AnchorStyles.Top Or _
System.Windows.Forms.AnchorStyles.Right
Me.clearButton.Location = New System.Drawing.Point(592, 504)
Me.clearButton.TabIndex = 1
Me.clearButton.Text = "Clear"
' GroupBox
Me.groupBox1.Anchor = System.Windows.Forms.AnchorStyles.Top Or _
System.Windows.Forms.AnchorStyles.Left Or _
System.Windows.Forms.AnchorStyles.Right
Me.groupBox1.Location = New System.Drawing.Point(16, 24)
Me.groupBox1.Size = New System.Drawing.Size(664, 128)
Me.groupBox1.Text = "System.Windows.Forms.SystemInformation"
' Set up how the form should be displayed and add the controls to the form.
Me.ClientSize = New System.Drawing.Size(696, 534)
Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.label9, _
Me.label8, Me.label7, Me.label6, Me.label5, Me.label4, _
Me.label3, Me.label2, Me.clearButton, Me.panel1, Me.label1, Me.groupBox1})
Me.Text = "Mouse Event Example"
' Display information about the system mouse.
label2.Text = "SystemInformation.DoubleClickSize: " + SystemInformation.DoubleClickSize.ToString()
label3.Text = "SystemInformation.DoubleClickTime: " + SystemInformation.DoubleClickTime.ToString()
label4.Text = "SystemInformation.MousePresent: " + SystemInformation.MousePresent.ToString()
label5.Text = "SystemInformation.MouseButtons: " + SystemInformation.MouseButtons.ToString()
label6.Text = "SystemInformation.MouseButtonsSwapped: " + SystemInformation.MouseButtonsSwapped.ToString()
label7.Text = "SystemInformation.MouseWheelPresent: " + SystemInformation.MouseWheelPresent.ToString()
label8.Text = "SystemInformation.MouseWheelScrollLines: " + SystemInformation.MouseWheelScrollLines.ToString()
label9.Text = "SystemInformation.NativeMouseWheelSupport: " + SystemInformation.NativeMouseWheelSupport.ToString()
End Sub
Private Sub panel1_MouseDown(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles panel1.MouseDown
' Update the mouse path with the mouse information
Dim mouseDownLocation As New Point(e.X, e.Y)
Dim eventString As String = Nothing
Select Case e.Button
Case MouseButtons.Left
eventString = "L"
Case MouseButtons.Right
eventString = "R"
Case MouseButtons.Middle
eventString = "M"
Case MouseButtons.XButton1
eventString = "X1"
Case MouseButtons.XButton2
eventString = "X2"
Case MouseButtons.None:
eventString = Nothing
End Select
If (eventString IsNot Nothing) Then
mousePath.AddString(eventString, FontFamily.GenericSerif, CInt(FontStyle.Bold), fontSize, mouseDownLocation, StringFormat.GenericDefault)
Else
mousePath.AddLine(mouseDownLocation, mouseDownLocation)
End If
panel1.Focus()
panel1.Invalidate()
End Sub
Private Sub panel1_MouseEnter(sender As Object, e As System.EventArgs) Handles panel1.MouseEnter
' Update the mouse event label to indicate the MouseEnter event occurred.
label1.Text = sender.GetType().ToString() + ": MouseEnter"
End Sub
Private Sub panel1_MouseHover(sender As Object, e As System.EventArgs) Handles panel1.MouseHover
' Update the mouse event label to indicate the MouseHover event occurred.
label1.Text = sender.GetType().ToString() + ": MouseHover"
End Sub
Private Sub panel1_MouseLeave(sender As Object, e As System.EventArgs) Handles panel1.MouseLeave
' Update the mouse event label to indicate the MouseLeave event occurred.
label1.Text = sender.GetType().ToString() + ": MouseLeave"
End Sub
Private Sub panel1_MouseMove(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles panel1.MouseMove
' Update the mouse path that is drawn onto the Panel.
Dim mouseX As Integer = e.X
Dim mouseY As Integer = e.Y
mousePath.AddLine(mouseX, mouseY, mouseX, mouseY)
End Sub
Private Sub panel1_MouseWheel(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles panel1.MouseWheel
' Update the drawing based upon the mouse wheel scrolling.
Dim numberOfTextLinesToMove As Integer = CInt(e.Delta * SystemInformation.MouseWheelScrollLines / 120)
Dim numberOfPixelsToMove As Integer = numberOfTextLinesToMove * fontSize
If numberOfPixelsToMove <> 0 Then
Dim translateMatrix As New System.Drawing.Drawing2D.Matrix()
translateMatrix.Translate(0, numberOfPixelsToMove)
mousePath.Transform(translateMatrix)
End If
panel1.Invalidate()
End Sub
Private Sub panel1_MouseUp(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles panel1.MouseUp
Dim mouseUpLocation As New System.Drawing.Point(e.X, e.Y)
' Show the number of clicks in the path graphic.
Dim numberOfClicks As Integer = e.Clicks
mousePath.AddString(" " + numberOfClicks.ToString(), _
FontFamily.GenericSerif, CInt(FontStyle.Bold), _
fontSize, mouseUpLocation, StringFormat.GenericDefault)
panel1.Invalidate()
End Sub
Private Sub panel1_Paint(sender As Object, e As System.Windows.Forms.PaintEventArgs) Handles panel1.Paint
' Perform the painting of the Panel.
e.Graphics.DrawPath(System.Drawing.Pens.DarkRed, mousePath)
End Sub
Private Sub clearButton_Click(sender As Object, e As System.EventArgs) Handles clearButton.Click
' Clear the Panel display.
mousePath.Dispose()
mousePath = New System.Drawing.Drawing2D.GraphicsPath()
panel1.Invalidate()
End Sub
End Class
End Namespace
注釈
イベントを処理するとき MouseWheel は、マウスホイールに関連付けられているユーザーインターフェイス (UI) 標準に従うことが重要です。When handling the MouseWheel event it is important to follow the user interface (UI) standards associated with the mouse wheel. MouseEventArgs.Deltaプロパティ値は、マウスホイールが移動された量を示します。The MouseEventArgs.Delta property value indicates the amount the mouse wheel has been moved. 累積デルタが120以上の場合、UI はスクロールする必要があります。The UI should scroll when the accumulated delta is plus or minus 120. UI では、プロパティによって返された論理行の数が、 SystemInformation.MouseWheelScrollLines 各デルタ値に達するまでスクロールします。The UI should scroll the number of logical lines returned by the SystemInformation.MouseWheelScrollLines property for every delta value reached. さらに、120単位でより滑らかにスクロールすることもできます。ただし、比率は一定である必要があります。これは、 SystemInformation.MouseWheelScrollLines ホイール移動の120デルタ単位ごとにスクロールされた行数です。You can also scroll more smoothly in smaller that 120 unit increments, however the ratio should remain constant, that is SystemInformation.MouseWheelScrollLines lines scrolled per 120 delta units of wheel movement.
マウスホイールメッセージの処理の詳細については、「 WM_MOUSEWHEEL 」を参照してください。For more information about handling mouse wheel messages, see the WM_MOUSEWHEEL topic.
マウス イベントは次の順序で発生します。Mouse events occur in the following order:
イベントの処理の詳細については、「処理とイベントの発生」を参照してください。For more information about handling events, see Handling and Raising Events.