1、弧度角度转换函数
///<summary> ///角度转弧度函数 ///</summary> static double ToRadian(double radius) { return Math.PI * radius / 180; } ///<summary> ///弧度转角度函数 ///</summary> static double ToRadius(double radian) { return 180 * radian / Math.PI; }
2、 画布画点函数
/// <summary> /// 画布画点函数; /// </summary> /// <param name="x"></param> /// <param name="y"></param> private void DrawPoints(List <Point> points) { //获取该窗体的绘制上下文 using (Graphics g = this.splitter_show.CreateGraphics()) { SolidBrush sb = new SolidBrush(Color.Aquamarine ); foreach (var point in points) { g.FillEllipse(sb, point.X, point.Y, 2, 2); } } }
3、画点函数
using (Graphics g = this.splitter_window.CreateGraphics()) { Pen pen = new Pen(Color.Green, 3); foreach (var point in ListPoint) { g.FillEllipse(new SolidBrush(Color.Green), point.X, point.Y, 2, 2); } }
4、画点和画线
using (Graphics g = this.splitter_show.CreateGraphics()) { //打点 g.FillEllipse(new SolidBrush(Color.Black), 100, 300, 10, 10); g.FillEllipse(new SolidBrush(Color.Black), 200, 200, 10, 10); g.FillEllipse(new SolidBrush(Color.Black), 300, 200, 10, 10); g.FillEllipse(new SolidBrush(Color.Black), 300, 350, 10, 10); g.FillEllipse(new SolidBrush(Color.Black), 400, 250, 10, 10); g.FillEllipse(new SolidBrush(Color.Black), 450, 300, 10, 10); g.FillEllipse(new SolidBrush(Color.Black), 300, 50, 10, 10); g.FillEllipse(new SolidBrush(Color.Black), 100, 150, 10, 10); //连线 g.DrawLine(new Pen(Color.Black, 4), new Point(100, 300), new Point(200, 200)); g.DrawLine(new Pen(Color.Black, 4), new Point(200, 200), new Point(300, 200)); g.DrawLine(new Pen(Color.Black, 4), new Point(300, 200), new Point(300, 350)); g.DrawLine(new Pen(Color.Black, 4), new Point(300, 350), new Point(400, 250)); g.DrawLine(new Pen(Color.Black, 4), new Point(400, 250), new Point(450, 300)); g.DrawLine(new Pen(Color.Black, 4), new Point(450, 300), new Point(300, 50)); g.DrawLine(new Pen(Color.Black, 4), new Point(300, 50), new Point(100, 150)); g.DrawLine(new Pen(Color.Black, 4), new Point(100, 150), new Point(100, 300)); }
5、判断完整性
/// <summary> /// 判断完整性函数 /// </summary> /// <returns></returns> private bool isComplete() { return this.textBox_M0.Text != null && this.textBox_λ0.Text != null && this.textBox_φ1.Text != null && this.textBox_φ2.Text != null && this.textBox_φ_min.Text!= null; } /// <summary> /// 传数据函数 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button3_Click_OK(object sender, EventArgs e) { //预防性措施 if(!this.isComplete()) { MessageBox.Show("hello"); return; }
}
6、判断字符串是否能转换成数字
//判断字符串是否能转换成数字 static bool IsNumberic(string str) { double num; bool isnum = double.TryParse(str, System.Globalization.NumberStyles.Float,System .Globalization .NumberFormatInfo.InvariantInfo ,out num ); return isnum; }
7、注册鼠标事件
/// <summary> /// 获取画布点击开始坐标 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button1_Click_Input(object sender, EventArgs e) { //注册鼠标单击事件; this.splitter_window.MouseClick += splitter_window_Click_GetXY; } /// <summary> /// 手写的函数,获取画布点击开始坐标; /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void splitter_window_Click_GetXY(object sender, MouseEventArgs e) { //获取 XY; this.textBox_x1.Text = $"{e.X}"; this.textBox_y1.Text = $"{e.Y}"; //画点; using (Graphics g = this.splitter_window.CreateGraphics()) { g.FillEllipse(new SolidBrush(Color.Black), e.X, e.Y, 10, 10); } //注销; this.splitter_window.MouseClick -= splitter_window_Click_GetXY; }