📄 line1.cs
字号:
using System;
using System.ComponentModel;
using System.Collections;
using System.Diagnostics;
using System.Drawing.Drawing2D;
using System.Drawing;
using System.Data;
using System.Windows.Forms;
namespace bs
{
/// <summary>
/// Line1 的摘要说明。
/// </summary>
public class Line1 :System.Windows.Forms.Label
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.Container components = null;
public Point StartPoint;
public Point EndPoint;
public int PenWidth=1;
public float wij;
public Line1(Point start,Point end,float i)
{
/// <summary>
/// Windows.Forms 类撰写设计器支持所必需的
/// </summary>
InitializeComponent();
StartPoint=start;
EndPoint=end;
wij=i;
// TODO: 在 InitializeComponent 调用后添加任何初始化
}
public void DrawLine(Graphics g)
{
Pen p=new Pen(Color.Black,PenWidth);
//g.DrawLine(new Pen(Color.Black,3),StartPoint,StartPoint);
g.FillEllipse(new SolidBrush(Color.Black),StartPoint.X-2,StartPoint.Y-1,4,4);
g.DrawLine(p,StartPoint,new Point(StartPoint.X,StartPoint.Y+12));
g.DrawLine(p,new Point(StartPoint.X,StartPoint.Y+12),new Point(EndPoint.X,EndPoint.Y-12));
g.DrawLine(p,new Point(EndPoint.X,EndPoint.Y-12),EndPoint);
Point point1=EndPoint;
Point point2=new Point(EndPoint.X-5,EndPoint.Y-5);
Point point3=new Point(EndPoint.X+5,EndPoint.Y-5);
Point[] triangle=
{
point1,
point2,
point3
};
FillMode newFillMode = FillMode.Winding;
g.FillPolygon(new SolidBrush(Color.Black),triangle,newFillMode);
p.Dispose();
}
public int yPositon(int x)
{
return (((EndPoint.Y-12-StartPoint.Y-12)/(EndPoint.X-StartPoint.X))*(x-StartPoint.X)+StartPoint.Y+12);
}
public bool IsInLine(Point pnt)
{
Pen p = new Pen(Color.Black,1);
GraphicsPath pth=new GraphicsPath();
pth.AddLine(StartPoint,EndPoint);
pth.Widen(p);
p.Dispose();
if(pth.IsVisible(pnt))
return true;
return false;
}
//
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
#region Component Designer generated code
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
components = new System.ComponentModel.Container();
}
#endregion
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -