[Serializable]
public static Rectangle Clip {get; set;}
ただし、この設定が有効なのは、アプリケーションにフォーカスがある時だけですusing System.Windows.Forms;
class WinMain : Form {
public static void Main(string[] args) {
Application.Run(new WinMain());
}
override protected void OnMouseUp(MouseEventArgs e) {
Cursor.Clip = Bounds;
}
}
このプログラムを実行して、ウィンドウのクライアント領域をクリックすると[Serializable] public static void Hide(); [Serializable] public static void Show();これらのメソッドの呼び出しは均等化しなければなりません
using System.Windows.Forms;
class WinMain : Form {
public static void Main(string[] args) {
Application.Run(new WinMain());
}
override protected void OnMouseEnter(System.EventArgs e) {
Cursor.Hide();
}
override protected void OnMouseLeave(System.EventArgs e) {
Cursor.Show();
}
}
このプログラムのウィンドウのクライアント領域にカーソルを移動させると[Serializable]
public static Point Position {get; set;}
このプロパティは、カーソルの位置を示す Point 型ですusing System.Windows.Forms;
using System.Drawing;
class WinMain : Form {
public static void Main(string[] args) {
Application.Run(new WinMain());
}
override protected void OnMouseDown(MouseEventArgs e) {
int x = Location.X + (Width / 2);
int y = Location.Y + (Height - ClientRectangle.Height) / 2 ;
Cursor.Position = new Point(x , y);
}
}
このプログラムのウィンドウのクライアント領域をクリックすると[Serializable]
public static Cursor Current {get; set;}
このプロパティから、現在のカーソルの Cursor オブジェクトを取得したり| メンバ | 解説 |
|---|---|
| AppStarting | アプリケーションの開始時に表示されるカーソルを取得します |
| Arrow | 矢印カーソルを取得します |
| Cross | 十字カーソルを取得します |
| Default | 既定のカーソルを取得します。通常は矢印カーソルです |
| Hand | Web リンクの上にマウスを移動すると表示されるハンド カーソルを取得します |
| Help | 矢印と疑問符が組み合わされたヘルプ カーソルを取得します |
| HSplit | マウスを水平方向の分割バーの上に置くと表示されるカーソルを取得します |
| IBeam | マウスをクリックしたときにテキスト カーソルの位置を示す I ビーム カーソルを取得します |
| No | 現在の操作が無効な領域であることを示すカーソルを取得します |
| NoMove2D | マウスを動かさずに ウィンドウを水平および垂直の両方向にスクロールできるとき このホイール操作を表すカーソルを取得します |
| NoMoveHoriz | マウスを動かさずに 水平方向へのスクロールができるとき このホイール操作を表すカーソルを取得します |
| NoMoveVert | マウスを動かさずに ウィンドウを垂直方向にスクロールできるとき このホイール操作を表すカーソルを取得します |
| PanEast | マウスを動かしながら ウィンドウを水平方向に右スクロールできるとき このホイール操作を表すカーソルを取得します |
| PanNE | マウスを動かしながら ウィンドウを水平方向および垂直方向に右上へスクロールするとき このホイール操作を表すカーソルを取得します |
| PanNorth | マウスを動かしながら ウィンドウを垂直方向に上へスクロールするとき このホイール操作を表すカーソルを取得します |
| PanNW | マウスを動かしながら ウィンドウを水平方向および垂直方向に左上へスクロールするとき このホイール操作を表すカーソルを取得します |
| PanSE | マウスを動かしながら ウィンドウを水平方向および垂直方向に右下へスクロールするとき このホイール操作を表すカーソルを取得します |
| PanSouth | マウスを動かしながら ウィンドウを垂直方向に下へスクロールするとき このホイール操作を表すカーソルを取得します |
| PanSW | マウスを動かしながら ウィンドウを水平方向および垂直方向に左下へスクロールするとき このホイール操作を表すカーソルを取得します |
| PanWest | マウスを動かしながら ウィンドウを水平方向に左へスクロールするとき このホイール操作を表すカーソルを取得します |
| SizeAll | 十字型の方向を指す矢印が結合して構成されている 4 方向のサイズ変更用カーソルを取得します |
| SizeNESW | 2 方向の対角線 (右斜めと左斜め) で構成されている サイズ変更用カーソルを取得します |
| SizeNS | 垂直の 2 方向 (上と下) で構成されているサイズ変更用カーソルを取得します |
| SizeNWSE | 2 方向の対角線 (左斜めと右斜め) で構成されている サイズ変更用カーソルを取得します |
| SizeWE | 水平の 2 方向 (左と右) で構成されているサイズ変更用カーソルを取得します |
| UpArrow | 通常はカーソル位置の識別に使用する上向きの矢印カーソルを取得します |
| VSplit | マウスを垂直方向の分割バーの上に置くと表示されるカーソルを取得します |
| WaitCursor | 待機カーソルを取得します。通常は砂時計の形です |
using System.Windows.Forms;
class WinMain : Form {
public static void Main(string[] args) {
Application.Run(new WinMain());
}
override protected void OnMouseDown(MouseEventArgs e) {
Cursor.Current = Cursors.WaitCursor;
}
override protected void OnMouseUp(MouseEventArgs e) {
Cursor.Current = Cursors.Default;
}
}

[Serializable] public Cursor(IntPtr handle); [Serializable] public Cursor(Stream stream); [Serializable] public Cursor(string fileName); [Serializable] public Cursor(Type type , string resource);handle には作成するカーソルの Windows ハンドルを指定します
using System.Windows.Forms;
class WinMain : Form {
public static void Main(string[] args) {
Application.Run(new WinMain());
}
override protected void OnMouseDown(MouseEventArgs e) {
Cursor.Current = new Cursor("test.cur");
}
override protected void OnMouseUp(MouseEventArgs e) {
Cursor.Current = Cursors.Default;
}
}

using System.Windows.Forms;
class WinMain : Form {
public static void Main(string[] args) {
Application.Run(new WinMain());
}
public WinMain() {
Cursor = Cursors.WaitCursor;
}
}
このプログラムは特にイベント処理を施していませんが[Serializable] public void Draw(Graphics g , Rectangle targetRect);g には描画対象であるデバイスコンテキストを表す Graphics オブジェクトを
[Serializable] public void DrawStretched(Graphics g , Rectangle targetRect);パラメータの意味は Cursor.Draw() メソッドと同じですが
using System.Windows.Forms;
using System.Drawing;
class WinMain : Form {
public static void Main(string[] args) {
Application.Run(new WinMain());
}
override protected void OnResize(System.EventArgs e) {
Invalidate();
}
override protected void OnPaint(PaintEventArgs e) {
Graphics g = e.Graphics;
Cursors.Hand.DrawStretched(g , ClientRectangle);
}
}

[Serializable]
public Size Size {get;}
描画処理などで、カーソルの正確なサイズが知りたければ使うとよいでしょう