2

这行得通。它在面板上绘制一个简单的 Rectangle:

    Dim g As Graphics
    Dim fPen As Pen
    g = aPanel.CreateGraphics()

    fPen = New Pen(Color.Blue)
    Dim PointX As Point = New Point(10, 20)
    Dim PointY As Point = New Point(50, 50)

    g.DrawRectangle(fPen, PointY.X, PointY.Y, 50, 50)

一切都是一个对象 - 但我如何引用这个 ractangle?
稍后在代码中创建椭圆时,我想将此矩形用作参数之一(即在矩形中绘制椭圆) - 为什么我不能执行以下操作?

    Dim g As Graphics
    Dim fPen As Pen
    g = aPanel.CreateGraphics()

    fPen = New Pen(Color.Blue)
    Dim PointX As Point = New Point(10, 20)
    Dim PointY As Point = New Point(50, 50)

    Dim r As Rectangle
    r = New Rectangle(g.DrawRectangle(fPen, PointY.X, PointY.Y, 50, 50)) '<<<errors here
    g.DrawEllipse(fPen, r)
4

2 回答 2

1

对象上的DrawRectangle方法Graphics不返回任何值,因为它是一个Sub.

您首先必须创建 的实例,Rectangle稍后您可以使用它来绘制矩形和椭圆。

Dim pointY As New Point(50, 50)
Dim rectSize As New Size(50, 50)
Dim rect As New Rectangle(pointY, rectSize)

g.DrawRectangle(fPen, rect)
g.DrawEllipse(fPen, rect)
于 2013-03-08T08:46:46.557 回答
1

声明你的矩形并使用它的值:

Dim r As New Rectangle(10, 50, 50, 50)

g.DrawRectangle(fPen, r.Location.X, r.Location.Y, r.Width, r.Height)
g.DrawEllipse(fPen, r)
于 2013-03-08T08:45:13.597 回答