Leggere in inglese

Condividi tramite


Cursors Classe

Definizione

Importante

Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.

Fornisce un insieme di oggetti Cursor utilizzabili da un'applicazione Windows Form.

C#
public sealed class Cursors
C#
public static class Cursors
Ereditarietà
Cursors

Esempio

L'esempio seguente illustra la modifica del cursore del mouse usando la Control.Cursor proprietà, la Cursor classe e la Cursors classe. Nell'esempio viene creato un modulo che contiene un controllo, un ComboBoxPanel controllo e un ListView controllo. Contiene ComboBox tutti i cursori forniti dalla Cursors classe. Quando l'utente seleziona un cursore del mouse nell'oggetto ComboBox, la Control.Cursor proprietà è impostata sul cursore selezionato, che aggiorna il cursore per .Panel L'oggetto ListView viene aggiornato ogni volta che si verifica l'evento Control.CursorChanged .

C#
using System;
using System.Drawing;
using System.Windows.Forms;

namespace MCursor
{
    public class Form1 : System.Windows.Forms.Form
    {
        private System.Windows.Forms.ComboBox cursorSelectionComboBox;

        private System.Windows.Forms.Panel testPanel;
        private System.Windows.Forms.Label label1;
        private System.Windows.Forms.Label label2;
        private System.Windows.Forms.ListView cursorEventViewer;
        private System.Windows.Forms.Label label3;
        
        [STAThread]
        static void Main() 
        {
            Application.Run(new Form1());
        }

        public Form1()
        {
            this.cursorSelectionComboBox = new System.Windows.Forms.ComboBox();
            this.testPanel = new System.Windows.Forms.Panel();
            this.label1 = new System.Windows.Forms.Label();
            this.label2 = new System.Windows.Forms.Label();
            this.cursorEventViewer = new System.Windows.Forms.ListView();
            this.label3 = new System.Windows.Forms.Label();

            // Select Cursor Label
            this.label2.Location = new System.Drawing.Point(24, 16);
            this.label2.Size = new System.Drawing.Size(80, 16);
            this.label2.Text = "Select cursor:";

            // Cursor Testing Panel Label
            this.label1.Location = new System.Drawing.Point(24, 80);
            this.label1.Size = new System.Drawing.Size(144, 23);
            this.label1.Text = "Cursor testing panel:";

            // Cursor Changed Events Label
            this.label3.Location = new System.Drawing.Point(184, 16);
            this.label3.Size = new System.Drawing.Size(128, 16);
            this.label3.Text = "Cursor changed events:";
            
            // Cursor Selection ComboBox
            this.cursorSelectionComboBox.Location = new System.Drawing.Point(24, 40);
            this.cursorSelectionComboBox.Size = new System.Drawing.Size(152, 21);
            this.cursorSelectionComboBox.TabIndex = 0;
            this.cursorSelectionComboBox.SelectedIndexChanged += 
                 new System.EventHandler(this.cursorSelectionComboBox_SelectedIndexChanged);

            // Cursor Test Panel
            this.testPanel.BackColor = System.Drawing.SystemColors.ControlDark;
            this.testPanel.Location = new System.Drawing.Point(24, 104);
            this.testPanel.Size = new System.Drawing.Size(152, 160);
            this.testPanel.CursorChanged += new System.EventHandler(this.testPanel_CursorChanged);

            // Cursor Event ListView
            this.cursorEventViewer.Location = new System.Drawing.Point(184, 40);
            this.cursorEventViewer.Size = new 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 = new System.Drawing.Size(456, 286);
            this.Controls.AddRange(new System.Windows.Forms.Control[] {
                                        this.label3, this.cursorEventViewer,
                                        this.label2, this.label1,
                                        this.testPanel, this.cursorSelectionComboBox});

            this.Text = "Cursors Example";

            // Add all the cursor types to the combobox.
            foreach (Cursor cursor in CursorList())
            {
                cursorSelectionComboBox.Items.Add(cursor);
            }
        }

        private Cursor [] CursorList()
        {

            // Make an array of all the types of cursors in Windows Forms.
            return new Cursor [] {
                                     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};
        }

        private void cursorSelectionComboBox_SelectedIndexChanged(object sender, System.EventArgs e)
        {
            // Set the cursor in the test panel to be the selected cursor style.
            testPanel.Cursor = (Cursor)cursorSelectionComboBox.SelectedItem;
        }

        private 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().ToString(), "Cursor changed");                
        
            // Record this event in the list view.
            this.cursorEventViewer.Items.Add(cursorEvent);
        }
    }
}

Nell'esempio seguente viene disegnato il cursore specificato nel modulo nella dimensione normale e in modalità estesa, due volte la dimensione. In questo esempio si presuppone che sia presente un Form oggetto e Cursor da passare al metodo quando viene chiamato.

C#
private void DrawCursorsOnForm(Cursor cursor)
{
   // If the form's cursor is not the Hand cursor and the 
   // Current cursor is the Default, Draw the specified 
   // cursor on the form in normal size and twice normal size.
   if(this.Cursor != Cursors.Hand & 
     Cursor.Current == Cursors.Default)
   {
      // Draw the cursor stretched.
      Graphics graphics = this.CreateGraphics();
      Rectangle rectangle = new Rectangle(
        new Point(10,10), new Size(cursor.Size.Width * 2, 
        cursor.Size.Height * 2));
      cursor.DrawStretched(graphics, rectangle);
        
      // Draw the cursor in normal size.
      rectangle.Location = new Point(
      rectangle.Width + rectangle.Location.X, 
        rectangle.Height + rectangle.Location.Y);
      rectangle.Size = cursor.Size;
      cursor.Draw(graphics, rectangle);

      // Dispose of the cursor.
      cursor.Dispose();
   }
}

Commenti

Alcuni degli Cursor oggetti di questa classe possono assumere un aspetto diverso rispetto a quelli descritti. L'utente può modificare l'aspetto del cursore modificando le impostazioni del puntatore del mouse nel sistema operativo. La panoramica e nessun cursore di spostamento sono statici e non possono essere modificati dal sistema operativo.

La panoramica e nessun cursore di spostamento vengono usati durante le operazioni della rotellina del mouse. A seconda della direzione in cui è possibile scorrere la finestra, il cursore viene modificato nel cursore appropriato quando viene fatto clic sulla rotellina del mouse. Il cursore cambia quindi nel cursore di panoramica appropriato quando il mouse viene spostato.

Proprietà

AppStarting

Ottiene il cursore visualizzato all'avvio dell'applicazione.

Arrow

Ottiene il cursore a freccia.

Cross

Ottiene il cursore per la selezione di precisione.

Default

Ottiene il cursore predefinito, costituito di solito da un cursore a freccia.

Hand

Ottiene il cursore a forma di mano, visualizzato in genere quando si passa il mouse su un collegamento Web.

Help

Ottiene il cursore della Guida, rappresentato da una freccia e da un punto interrogativo.

HSplit

Ottiene il cursore visualizzato quando si posiziona il mouse su una barra di divisione orizzontale.

IBeam

Ottiene il cursore a I, utilizzato per indicare il punto in cui viene visualizzato il cursore di testo quando si fa clic con il mouse.

No

Ottiene il cursore che indica che una determinata area non è valida per l'operazione corrente.

NoMove2D

Ottiene il cursore visualizzato durante le operazioni eseguite con la rotellina del mouse quando il mouse non è in movimento ma è possibile scorrere la finestra sia in senso orizzontale che verticale.

NoMoveHoriz

Ottiene il cursore visualizzato durante le operazioni eseguite con la rotellina del mouse quando il mouse non è in movimento ma è possibile scorrere la finestra in senso orizzontale.

NoMoveVert

Ottiene il cursore visualizzato durante le operazioni eseguite con la rotellina del mouse quando il mouse non è in movimento ma è possibile scorrere la finestra in senso verticale.

PanEast

Ottiene il cursore visualizzato durante le operazioni eseguite con la rotellina del mouse quando il mouse è in movimento e viene effettuato uno scorrimento orizzontale della finestra verso destra.

PanNE

Ottiene il cursore visualizzato durante le operazioni eseguite con la rotellina del mouse quando il mouse è in movimento e viene effettuato uno scorrimento orizzontale e verticale verso l'alto e verso destra della finestra.

PanNorth

Ottiene il cursore visualizzato durante le operazioni eseguite con la rotellina del mouse quando il mouse è in movimento e viene effettuato uno scorrimento verticale verso l'alto della finestra.

PanNW

Ottiene il cursore visualizzato durante le operazioni eseguite con la rotellina del mouse quando il mouse è in movimento e viene effettuato uno scorrimento orizzontale e verticale verso l'alto e verso sinistra della finestra.

PanSE

Ottiene il cursore visualizzato durante le operazioni eseguite con la rotellina del mouse quando il mouse è in movimento e viene effettuato uno scorrimento orizzontale e verticale verso il basso e verso destra della finestra.

PanSouth

Ottiene il cursore visualizzato durante le operazioni eseguite con la rotellina del mouse quando il mouse è in movimento e viene effettuato uno scorrimento verticale verso il basso della finestra.

PanSW

Ottiene il cursore visualizzato durante le operazioni eseguite con la rotellina del mouse quando il mouse è in movimento e viene effettuato uno scorrimento orizzontale e verticale verso il basso e verso sinistra della finestra.

PanWest

Ottiene il cursore visualizzato durante le operazioni eseguite con la rotellina del mouse quando il mouse è in movimento e viene effettuato uno scorrimento orizzontale verso sinistra della finestra.

SizeAll

Ottiene il cursore di ridimensionamento composto da quattro frecce unite che puntano rispettivamente verso nord, sud, est e ovest.

SizeNESW

Ottiene il cursore di ridimensionamento diagonale a due frecce, rivolte rispettivamente verso nordest e sudovest.

SizeNS

Ottiene il cursore di ridimensionamento verticale a due frecce, rivolte rispettivamente verso nord e sud.

SizeNWSE

Ottiene il cursore di ridimensionamento diagonale a due frecce, rivolte rispettivamente verso nordovest e sudest.

SizeWE

Ottiene il cursore di ridimensionamento orizzontale a due frecce, rivolte rispettivamente verso ovest ed est.

UpArrow

Ottiene il cursore a freccia rivolta verso l'alto, visualizzato in genere per identificare un punto di inserimento.

VSplit

Ottiene il cursore visualizzato quando si posiziona il mouse su una barra di divisione verticale.

WaitCursor

Ottiene il cursore di attesa, in genere a forma di clessidra.

Si applica a

Prodotto Versioni
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

Vedi anche