Control::CursorChanged Event
Occurs when the value of the Cursor property changes.
Assembly: System.Windows.Forms (in System.Windows.Forms.dll)
This event is raised if the Cursor property is changed by either a programmatic modification or user interaction.
For more information about handling events, see Consuming Events.
The following code example demonstrates changing the mouse cursor using the Control::Cursor property, the Cursor class, and the Cursors class. The example creates a form that contains a ComboBox control, a Panel control, and a ListView control. The ComboBox contains all cursors provided by the Cursors class. When the user selects a mouse cursor in the ComboBox, the Control::Cursor property is set to the selected cursor, which updates the cursor for the Panel. The ListView is updated every time the Control::CursorChanged event occurs.
#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 MCursor { public ref class Form1: public System::Windows::Forms::Form { private: System::Windows::Forms::ComboBox^ cursorSelectionComboBox; System::Windows::Forms::Panel^ testPanel; System::Windows::Forms::Label ^ label1; System::Windows::Forms::Label ^ label2; System::Windows::Forms::ListView^ cursorEventViewer; System::Windows::Forms::Label ^ label3; public: Form1() { this->cursorSelectionComboBox = gcnew System::Windows::Forms::ComboBox; this->testPanel = gcnew System::Windows::Forms::Panel; this->label1 = gcnew System::Windows::Forms::Label; this->label2 = gcnew System::Windows::Forms::Label; this->cursorEventViewer = gcnew System::Windows::Forms::ListView; this->label3 = gcnew System::Windows::Forms::Label; // Select Cursor Label this->label2->Location = System::Drawing::Point( 24, 16 ); this->label2->Size = System::Drawing::Size( 80, 16 ); this->label2->Text = "Select cursor:"; // Cursor Testing Panel Label this->label1->Location = System::Drawing::Point( 24, 80 ); this->label1->Size = System::Drawing::Size( 144, 23 ); this->label1->Text = "Cursor testing panel:"; // Cursor Changed Events Label this->label3->Location = System::Drawing::Point( 184, 16 ); this->label3->Size = System::Drawing::Size( 128, 16 ); this->label3->Text = "Cursor changed events:"; // Cursor Selection ComboBox this->cursorSelectionComboBox->Location = System::Drawing::Point( 24, 40 ); this->cursorSelectionComboBox->Size = System::Drawing::Size( 152, 21 ); this->cursorSelectionComboBox->TabIndex = 0; this->cursorSelectionComboBox->SelectedIndexChanged += gcnew System::EventHandler( this, &Form1::cursorSelectionComboBox_SelectedIndexChanged ); // Cursor Test Panel this->testPanel->BackColor = System::Drawing::SystemColors::ControlDark; this->testPanel->Location = System::Drawing::Point( 24, 104 ); this->testPanel->Size = System::Drawing::Size( 152, 160 ); this->testPanel->CursorChanged += gcnew System::EventHandler( this, &Form1::testPanel_CursorChanged ); // Cursor Event ListView this->cursorEventViewer->Location = System::Drawing::Point( 184, 40 ); this->cursorEventViewer->Size = System::Drawing::Size( 256, 224 ); this->cursorEventViewer->TabIndex = 4; this->cursorEventViewer->View = System::Windows::Forms::View::List; // Set up how the form should be displayed and add the controls to the form. this->ClientSize = System::Drawing::Size( 456, 286 ); array<System::Windows::Forms::Control^>^temp0 = {this->label3,this->cursorEventViewer,this->label2,this->label1,this->testPanel,this->cursorSelectionComboBox}; this->Controls->AddRange( temp0 ); this->Text = "Cursors Example"; // Add all the cursor types to the combobox. System::Collections::IEnumerator^ myEnum = CursorList()->GetEnumerator(); while ( myEnum->MoveNext() ) { System::Windows::Forms::Cursor^ cursor = safe_cast<System::Windows::Forms::Cursor^>(myEnum->Current); cursorSelectionComboBox->Items->Add( cursor ); } } private: array<System::Windows::Forms::Cursor^>^ CursorList() { // Make an array of all the types of cursors in Windows Forms. array<System::Windows::Forms::Cursor^>^temp1 = {Cursors::AppStarting,Cursors::Arrow,Cursors::Cross,Cursors::Default,Cursors::Hand,Cursors::Help,Cursors::HSplit,Cursors::IBeam,Cursors::No,Cursors::NoMove2D,Cursors::NoMoveHoriz,Cursors::NoMoveVert,Cursors::PanEast,Cursors::PanNE,Cursors::PanNorth,Cursors::PanNW,Cursors::PanSE,Cursors::PanSouth,Cursors::PanSW,Cursors::PanWest,Cursors::SizeAll,Cursors::SizeNESW,Cursors::SizeNS,Cursors::SizeNWSE,Cursors::SizeWE,Cursors::UpArrow,Cursors::VSplit,Cursors::WaitCursor}; return temp1; } void cursorSelectionComboBox_SelectedIndexChanged( Object^ /*sender*/, System::EventArgs^ /*e*/ ) { // Set the cursor in the test panel to be the selected cursor style. testPanel->Cursor = dynamic_cast<System::Windows::Forms::Cursor^>(cursorSelectionComboBox->SelectedItem); } void testPanel_CursorChanged( Object^ sender, System::EventArgs^ /*e*/ ) { // Build up a String* containing the type of Object* sending the event, and the event. String^ cursorEvent = String::Format( "[{0}]: {1}", sender->GetType(), "Cursor changed" ); // Record this event in the list view. this->cursorEventViewer->Items->Add( cursorEvent ); } }; } [STAThread] int main() { Application::Run( gcnew MCursor::Form1 ); }
Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98
The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.