英語で読む

次の方法で共有


Cursor コンストラクター

定義

Cursor クラスの新しいインスタンスを初期化します。

オーバーロード

Cursor(IntPtr)

指定した Windows ハンドルで Cursor クラスの新しいインスタンスを初期化します。

Cursor(Stream)

指定したデータ ストリームで Cursor クラスの新しいインスタンスを初期化します。

Cursor(String)

指定したファイルで Cursor クラスの新しいインスタンスを初期化します。

Cursor(Type, String)

指定したリソースの種類を使用し、指定したリソースから Cursor クラスの新しいインスタンスを初期化します。

Cursor(IntPtr)

ソース:
Cursor.cs
ソース:
Cursor.cs
ソース:
Cursor.cs

指定した Windows ハンドルで Cursor クラスの新しいインスタンスを初期化します。

C#
public Cursor(IntPtr handle);

パラメーター

handle
IntPtr

作成するカーソルの Windows ハンドルを表す IntPtr

例外

handleZeroです。

次のコード例では、カーソルの からカーソルを作成し CurrentHandleその位置とクリッピング四角形を変更します。 結果として、カーソルは上方向に移動し、コードの実行時の位置から左の 50 ピクセルに移動します。 さらに、カーソルのクリッピング四角形がフォームの境界に変更されます (既定では、ユーザーの画面全体です)。 この例では、 と Button を使用Formして、このコードをクリックしたときにこのコードを呼び出す必要があります。

C#
private void MoveCursor()
{
   // Set the Current cursor, move the cursor's Position,
   // and set its clipping rectangle to the form. 

   this.Cursor = new Cursor(Cursor.Current.Handle);
   Cursor.Position = new Point(Cursor.Position.X - 50, Cursor.Position.Y - 50);
   Cursor.Clip = new Rectangle(this.Location, this.Size);
}

注釈

カーソル ハンドルの操作が完了したら、カーソル ハンドルを解放する必要があります。 リソースの破棄の詳細については、「 アンマネージド リソースのクリーンアップ」を参照してください。

適用対象

.NET Framework 4.8.1 およびその他のバージョン
製品 バージョン
.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

Cursor(Stream)

ソース:
Cursor.cs
ソース:
Cursor.cs
ソース:
Cursor.cs

指定したデータ ストリームで Cursor クラスの新しいインスタンスを初期化します。

C#
public Cursor(System.IO.Stream stream);

パラメーター

stream
Stream

Cursor の読み込み元のデータ ストリーム。

次のコード例では、 の メソッドによって作成された OpenFile からStreamカーソルをOpenFileDialog読み込みます。 メソッドが呼び出されると、 OpenFileDialog がユーザーに表示され、 が表示されます。 CUR ファイルが選択され、ダイアログが閉じられ、ファイルが開き、 Stream 返された が を使用して を Cursor作成します。

C#
private void SetCursor()
{
   // Display an OpenFileDialog so the user can select a cursor.
   OpenFileDialog openFileDialog1 = new OpenFileDialog();
   openFileDialog1.Filter = "Cursor Files|*.cur";
   openFileDialog1.Title = "Select a Cursor File";
   openFileDialog1.ShowDialog();

   // If a .cur file was selected, open it.
   if(openFileDialog1.FileName != "")
   {
      // Assign the cursor in the stream to the form's Cursor property.
      this.Cursor = new Cursor(openFileDialog1.OpenFile());
   }
}

注釈

stream 指定されるデータ ストリームには、カーソル (.cur) ファイルが含まれている必要があります。

注意

アニメーション カーソル (.ani ファイル) は、 クラスでは Cursor サポートされていません。

こちらもご覧ください

適用対象

.NET Framework 4.8.1 およびその他のバージョン
製品 バージョン
.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

Cursor(String)

ソース:
Cursor.cs
ソース:
Cursor.cs
ソース:
Cursor.cs

指定したファイルで Cursor クラスの新しいインスタンスを初期化します。

C#
public Cursor(string fileName);

パラメーター

fileName
String

読み込むカーソル ファイル。

次のコード例では、コントロールに顧客情報を TreeView 表示します。 ルート ツリー ノードには顧客名が表示され、子ツリー ノードには各顧客に割り当てられた注文番号が表示されます。 この例では、1,000 人の顧客がそれぞれ 15 件の注文と共に表示されます。 メソッドと EndUpdate メソッドを使用BeginUpdateすると、 TreeView の再描画が抑制され、 がオブジェクトを作成して塗りつぶす間にTreeView待機CursorTreeNode表示されます。 この例では、オブジェクトのOrderコレクションをCustomer保持できる オブジェクトが必要です。 また、 にコントロールFormのインスタンスをTreeView作成している必要もあります。

C#

// The basic Customer class.
public class Customer : System.Object
{
   private string custName = "";
   protected ArrayList custOrders = new ArrayList();

   public Customer(string customername)
   {
      this.custName = customername;
   }

   public string CustomerName
   {      
      get{return this.custName;}
      set{this.custName = value;}
   }

   public ArrayList CustomerOrders 
   {
      get{return this.custOrders;}
   }
} // End Customer class 

// The basic customer Order class.
public class Order : System.Object
{
   private string ordID = "";

   public Order(string orderid)
   {
      this.ordID = orderid;
   }

   public string OrderID
   {      
      get{return this.ordID;}
      set{this.ordID = value;}
   }
} // End Order class

// Create a new ArrayList to hold the Customer objects.
private ArrayList customerArray = new ArrayList(); 

private void FillMyTreeView()
{
   // Add customers to the ArrayList of Customer objects.
   for(int x=0; x<1000; x++)
   {
      customerArray.Add(new Customer("Customer" + x.ToString()));
   }

   // Add orders to each Customer object in the ArrayList.
   foreach(Customer customer1 in customerArray)
   {
      for(int y=0; y<15; y++)
      {
         customer1.CustomerOrders.Add(new Order("Order" + y.ToString()));    
      }
   }

   // Display a wait cursor while the TreeNodes are being created.
   Cursor.Current = new Cursor("MyWait.cur");
        
   // Suppress repainting the TreeView until all the objects have been created.
   treeView1.BeginUpdate();

   // Clear the TreeView each time the method is called.
   treeView1.Nodes.Clear();

   // Add a root TreeNode for each Customer object in the ArrayList.
   foreach(Customer customer2 in customerArray)
   {
      treeView1.Nodes.Add(new TreeNode(customer2.CustomerName));
          
      // Add a child treenode for each Order object in the current Customer object.
      foreach(Order order1 in customer2.CustomerOrders)
      {
         treeView1.Nodes[customerArray.IndexOf(customer2)].Nodes.Add(
           new TreeNode(customer2.CustomerName + "." + order1.OrderID));
      }
   }

   // Reset the cursor to the default for all controls.
   Cursor.Current = Cursors.Default;

   // Begin repainting the TreeView.
   treeView1.EndUpdate();
}

注釈

パラメーターは fileName 、標準カーソル (.cur) ファイルを参照する必要があります。

注意

アニメーション カーソル (.ani ファイル) は、 クラスでは Cursor サポートされていません。

適用対象

.NET Framework 4.8.1 およびその他のバージョン
製品 バージョン
.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

Cursor(Type, String)

ソース:
Cursor.cs
ソース:
Cursor.cs
ソース:
Cursor.cs

指定したリソースの種類を使用し、指定したリソースから Cursor クラスの新しいインスタンスを初期化します。

C#
public Cursor(Type type, string resource);

パラメーター

type
Type

リソース Type

resource
String

リソースの名前。

次のコード例では、 コンストラクターを使用してカスタム カーソルを使用する方法を示すフォームを Cursor 表示します。 カスタム Cursor は、アプリケーションのリソース ファイルに埋め込まれます。 この例では、 という名前 MyCursor.curのカーソル ファイルにカーソルが含まれている必要があります。 コマンド ラインを使用してこの例をコンパイルするには、次のフラグを含めます。 /res:MyCursor.Cur, CustomCursor.MyCursor.Cur

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

namespace CustomCursor
{
    public class Form1 : System.Windows.Forms.Form
    {
        [STAThread]
        static void Main() 
        {
            Application.Run(new Form1());
        }

        public Form1()
        {
            this.ClientSize = new System.Drawing.Size(292, 266);
            this.Text = "Cursor Example";
            
            // The following generates a cursor from an embedded resource.
            
            // To add a custom cursor, create a bitmap
            //        1. Add a new cursor file to your project: 
            //                Project->Add New Item->General->Cursor File

            // --- To make the custom cursor an embedded resource  ---
            
            // In Visual Studio:
            //        1. Select the cursor file in the Solution Explorer
            //        2. Choose View->Properties.
            //        3. In the properties window switch "Build Action" to "Embedded Resources"

            // On the command line:
            //        Add the following flag:
            //            /res:CursorFileName.cur,Namespace.CursorFileName.cur
            //        
            //        Where "Namespace" is the namespace in which you want to use the cursor
            //        and   "CursorFileName.cur" is the cursor filename.

            // The following line uses the namespace from the passed-in type
            // and looks for CustomCursor.MyCursor.Cur in the assemblies manifest.
        // NOTE: The cursor name is acase sensitive.
            this.Cursor = new Cursor(GetType(), "MyCursor.cur");  
        }
    }
}

注釈

アプリケーション内にカーソルをリソースとして埋め込む方法の例を次に示します。 リソースを埋め込むには、リソース名の後にコンマ、その完全なアセンブリ パスを参照します。 埋め込みリソースからカーソルを読み込む方法については、「例」セクションを参照してください。

Using the C# compiler:  
csc /resource:"MyWaitCursor.cur","MyCursors.MyWaitCursor.cur" MyCursor.cs  
Using the Visual Basic compiler:  
vbc /resource:"MyWaitCursor.cur","MyCursors.MyWaitCursor.cur" MyCursor.vb  

注意

コンパイル時およびコード内での参照時のリソース参照は、C# コンパイラと Visual Basic コンパイラの両方で大文字と小文字が区別されます。

適用対象

.NET Framework 4.8.1 およびその他のバージョン
製品 バージョン
.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