Cursor.DrawStretched 方法

在指定边界内、指定的表面上以拉伸格式绘制光标。

**命名空间:**System.Windows.Forms
**程序集:**System.Windows.Forms(在 system.windows.forms.dll 中)

语法

声明
Public Sub DrawStretched ( _
    g As Graphics, _
    targetRect As Rectangle _
)
用法
Dim instance As Cursor
Dim g As Graphics
Dim targetRect As Rectangle

instance.DrawStretched(g, targetRect)
public void DrawStretched (
    Graphics g,
    Rectangle targetRect
)
public:
void DrawStretched (
    Graphics^ g, 
    Rectangle targetRect
)
public void DrawStretched (
    Graphics g, 
    Rectangle targetRect
)
public function DrawStretched (
    g : Graphics, 
    targetRect : Rectangle
)

参数

  • targetRect
    代表 Cursor 限定范围的 Rectangle

备注

绘制命令在 g 参数表示的图形表面上产生,但 Graphics 对象不包含有关如何呈现给定的图像方面的信息,所以它会将此调用传递给 Cursor 对象。在绘制光标时,DrawStretched 方法拉伸图像以填充指定的 Rectangle

示例

下面的代码示例在窗体中以正常大小绘制指定的光标,在拉伸模式中以正常大小的两倍绘制。此示例要求在调用此方法时有可传入到此方法中的 FormCursor 对象。

Private Sub DrawCursorsOnForm(cursor As 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 (Not Me.Cursor.Equals(Cursors.Hand)) And _
     Cursor.Current.Equals(Cursors.Default) Then

      ' Draw the cursor stretched.
      Dim graphics As Graphics = Me.CreateGraphics()
      Dim rectangle As 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()
   End If
End Sub
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();
   }
}
void DrawCursorsOnForm( System::Windows::Forms::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 && System::Windows::Forms::Cursor::Current == Cursors::Default )
   {
      
      // Draw the cursor stretched.
      Graphics^ graphics = this->CreateGraphics();
      Rectangle rectangle = Rectangle(Point(10,10),System::Drawing::Size( cursor->Size.Width * 2, cursor->Size.Height * 2 ));
      cursor->DrawStretched( graphics, rectangle );
      
      // Draw the cursor in normal size.
      rectangle.Location = Point(rectangle.Width + rectangle.Location.X,rectangle.Height + rectangle.Location.Y);
      rectangle.Size = cursor->Size;
      cursor->Draw( graphics, rectangle );
      
      // Dispose of the cursor.
      delete cursor;
   }
}
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.get_Cursor().Equals(Cursors.get_Hand())) 
            & get_Cursor().get_Current().Equals(Cursors.get_Default())) {
        // Draw the cursor stretched.
        Graphics graphics = this.CreateGraphics();
        Rectangle rectangle = new Rectangle(new Point(10, 10), 
            new Size(cursor.get_Size().get_Width() * 2, 
            cursor.get_Size().get_Height() * 2));
        cursor.DrawStretched(graphics, rectangle);
        // Draw the cursor in normal size.
        rectangle.set_Location(new Point(rectangle.get_Width() 
            + rectangle.get_Location().get_X(), rectangle.get_Height() 
            + rectangle.get_Location().get_Y()));
        rectangle.set_Size(cursor.get_Size());
        cursor.Draw(graphics, rectangle);
        // Dispose of the cursor.
        cursor.Dispose();
    }
} //DrawCursorsOnForm

平台

Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

请参见

参考

Cursor 类
Cursor 成员
System.Windows.Forms 命名空间
Draw