请大家帮忙!

解决方案 »

  1.   

    .Net中定制不规则窗体主要使用到Region类和GraphicsPath类,其中以GraphicsPath类最为重要。GraphicsPath类和Region类分别位于.Net FrameWork SDK中的"System.Drawing.Drawing2D"命名空间和"System.Drawing"命名空间。在.Net中具体实现各种不规则窗体的过程中,GraphicsPath主要作用是根据程序员的要求,通过GraphicsPath中提供的方法绘制不同规则的形状。Region的主要作用是依靠GraphicsPath实例来初始化Region对象,从而形成不规则窗体。  其具体的实现过程是,首先通过GraphicsPath类构造函数创建GraphicsPath实例,然后通过GraphicsPath中提供的方法按照程序员的要求绘制形状,最后以GraphicsPath实例来初始化Region对象。完成不规则窗体。可见了解、掌握GraphicsPath类对于理解本文介绍的实现方法是非常必要的。表01和表02分别是GraphicsPath类的常用方法和常用属性及其说明:方法 说明 
    AddArc GraphicsPath向当前图形追加一段椭圆弧。 
    AddBezier GraphicsPath向当前图形添加一段立方贝塞尔曲线。 
    AddBeziers GraphicsPath向当前图形添加一系列相互连接的立方贝塞尔曲线。 
    AddClosedCurve GraphicsPath向此路径添加一个闭合曲线。由于曲线经过数组中的每个点,因此使用基数样条曲线。 
    AddCurve GraphicsPath向当前图形添加一段样条曲线。由于曲线经过数组中的每个点,因此使用基数样条曲线。 
    AddEllipse GraphicsPath向当前路径添加一个椭圆。 
    AddLine GraphicsPath向此GraphicsPath实例追加一条线段。 
    AddLines GraphicsPath向此GraphicsPath实例末尾追加一系列相互连接的线段。 
    AddPath 将指定的GraphicsPath实例追加到该路径。 
    AddPie GraphicsPath向此路径添加一个扇形轮廓。 
    AddPolygon  GraphicsPath向此路径添加多边形。 
    AddRectangle GraphicsPath向此路径添加一个矩形。 
    AddRectangles  GraphicsPath向此路径添加一系列矩形。 
    AddString GraphicsPath向此路径添加文本字符串。 
    ClearMarkers  清除此路径的所有标记。 
    Clone 创建此路径的一个精确副本。 
    CloseAllFigures 闭合此路径中所有开放的图形并开始一个新图形。它通过连接一条从图形的终结点到起始点的直线,闭合每一开放的图形。 
    CloseFigure 闭合当前图形并开始新的图形。如果当前图形包含一系列相互连接的直线和曲线,该方法通过连接一条从终结点到起始点的直线,闭合该环回。 
    Flatten GraphicsPath将此路径中的各段曲线转换成相连的线段序列。 
    GetBounds GraphicsPath返回限定此GraphicsPath实例的矩形。 
    GetLastPoint 获取此GraphicsPath实例PathPoints数组中的最后的点。 
    IsOutlineVisible GraphicsPath指示当使用指定的Pen对象绘制此GraphicsPath实例时,指定点是否包含在后者的轮廓内。 
    IsVisible  GraphicsPath指示指定点是否包含在此GraphicsPath实例内。 
    Reset 清空PathPoints和PathTypes数组并将FillMode设置为Alternate。 
    Reverse 反转此GraphicsPath实例的PathPoints数组中各点的顺序。 
    SetMarkers  在此GraphicsPath实例上设置标记。 
    StartFigure 不闭合当前图形即开始一个新图形。后面添加到该路径的所有点都被添加到此新图形中。 
    Transform 将变形矩阵应用到此GraphicsPath实例。 
    Warp GraphicsPath对此GraphicsPath实例应用由一个矩形和一个平行四边形定义的扭曲变形。 
    Widen  GraphicsPath在用指定的画笔绘制此路径时,用包含所填充区域的曲线代替此路径。 
    AddArc GraphicsPath向当前图形追加一段椭圆弧。 
    AddBezier GraphicsPath向当前图形添加一段立方贝塞尔曲线。 
                 表01:GraphicsPath类的常用方法及其说明  GraphicsPath中提供了丰富的方法,这对实现更复杂的窗体形状是非常有用的,但完全掌握这些方法的使用方法也需要花费大量的时间和精力。 属性 说明 
    FillMode 获取或设置一个FillMode枚举,它确定此 
    PathData  获取一个PathData对象,它封装此GraphicsPath实例的点(points)和类型(types)的数组。 
    PathPoints 获取路径中的点。 
    PathTypes  获取PathPoints数组中相应点的类型。 
    PointCount 获取PathPoints或PathTypes数组中的元素数。 
               表02:GraphicsPath类中的常用属性及其说明