cline.cs
来自「苏金明编写的《用VB.NET和VC#.NET开发交互式CAD系统》一书的源代码」· CS 代码 · 共 71 行
CS
71 行
using System;
using System.Drawing;
using System.Drawing.Drawing2D;
namespace template
{
/// <summary>
/// CLine 的摘要说明。
/// </summary>
public class CLine:GESelecter
{
private PointF m_Begin,m_End;
public PointF LBegin
{
get{return m_Begin;}
set{m_Begin=value;}
}
public PointF LEnd
{
get{return m_End;}
set{m_End=value;}
}
public CLine()
{
}
public CLine(PointF pBegin,PointF pEnd)
{
m_Begin=pBegin;
m_End=pEnd;
}
//绘直线段
public override void Draw(Graphics g, geDrawMode aDrawMode)
{
Pen pen = DrawSettings(aDrawMode);
g.DrawLine(pen, m_Begin.X, m_Begin.Y, m_End.X, m_End.Y);
}
//拾取直线段
public override bool Pick( PointF aPos)
{
Console.WriteLine("yes");
GraphicsPath gp=new GraphicsPath();
gp.AddLine(m_Begin, m_End);
RectangleF rect=gp.GetBounds();
if (rect.Contains(aPos))
{
if (gp.IsOutlineVisible(aPos, Pens.Black))
{
gp.Dispose();
return true;
}
else
{
gp.Dispose();
return false;
}
}
else
{
gp.Dispose();
return false;
}
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?