早教吧作业答案频道 -->其他-->
winform怎样通过代码在两点之间画线?知道一个函数:this.Paint+=newPaintEventHandler(form1Paint);但这个函数得写在FormLoaded外面,由于要画的变量在Formloaded内有没有其他函数可以实现画线publicpartia
题目详情
winform怎样通过代码在两点之间画线?
知道一个函数:this.Paint += new PaintEventHandler(form1_Paint);
但这个函数得写在 Form_Loaded外面,由于要画的变量在Form_loaded内
有没有其他函数可以实现画线
public partial class Form1 :Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender,EventArgs e)
{ ...
this.Paint += new PaintEventHandler(form1_Paint);
...
怎样这里画线?
}
public void form1_Paint(Object sender,PaintEventArgs e)
{
Pen blackPen = new Pen(Color.Black,2);
Point point1 = new Point(100,100);
Point point2 = new Point(500,100);
e.Graphics.DrawLine(blackPen,point1,point2);
}
}
知道一个函数:this.Paint += new PaintEventHandler(form1_Paint);
但这个函数得写在 Form_Loaded外面,由于要画的变量在Form_loaded内
有没有其他函数可以实现画线
public partial class Form1 :Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender,EventArgs e)
{ ...
this.Paint += new PaintEventHandler(form1_Paint);
...
怎样这里画线?
}
public void form1_Paint(Object sender,PaintEventArgs e)
{
Pen blackPen = new Pen(Color.Black,2);
Point point1 = new Point(100,100);
Point point2 = new Point(500,100);
e.Graphics.DrawLine(blackPen,point1,point2);
}
}
▼优质解答
答案和解析
public partial class Form1 : Form
{
Point point1=Point.Empty;
Point point2=Point.Empty;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
...
point1 = new Point(100, 100);
point2 = new Point(500, 100);
this.Paint += new PaintEventHandler(form1_Paint);
}
public void form1_Paint(Object sender, PaintEventArgs e)
{
if(point1==Point.Empty || point2==Point.Empty) return;
Pen blackPen = new Pen(Color.Black, 2);
e.Graphics.DrawLine(blackPen, point1, point2);
}
private void button1_Click(object sender, EventArgs e)
{
//画一条新的连线
point1 = new Point(200, 200);
this.Invalidate();
}
private void button2_Click(object sender, EventArgs e)
{
//"擦出"连接线
point1 = Point.Empty
this.Invalidate();
}
}
稍微修改一下:将两个点point1和point2作为类变量,只要修改这两个变量,就可以画出相应的连线了.
{
Point point1=Point.Empty;
Point point2=Point.Empty;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
...
point1 = new Point(100, 100);
point2 = new Point(500, 100);
this.Paint += new PaintEventHandler(form1_Paint);
}
public void form1_Paint(Object sender, PaintEventArgs e)
{
if(point1==Point.Empty || point2==Point.Empty) return;
Pen blackPen = new Pen(Color.Black, 2);
e.Graphics.DrawLine(blackPen, point1, point2);
}
private void button1_Click(object sender, EventArgs e)
{
//画一条新的连线
point1 = new Point(200, 200);
this.Invalidate();
}
private void button2_Click(object sender, EventArgs e)
{
//"擦出"连接线
point1 = Point.Empty
this.Invalidate();
}
}
稍微修改一下:将两个点point1和point2作为类变量,只要修改这两个变量,就可以画出相应的连线了.
看了 winform怎样通过代码在...的网友还看了以下:
契科夫的一句名言他有一句名言,在身体上是整洁的,在道德上是.在.上是我想不起来了 2020-04-06 …
在“绿化家乡”的活动中,一个村在道路的两旁种植了200棵树,没有种活的有6棵.这批树树的成活率是多 2020-04-26 …
为什么每个人在道歉的时候都会说“对不起”这个词又该怎么解释呢 2020-05-17 …
个体在道德意识、道德行为方面,自觉按照一定社会或阶级的道德要求进行的自我审度、自我教 2020-06-06 …
英语翻译随着经济全球化的到来,中国经济取得了举世瞩目的成就随之而来的在道德上也产生了负面影响首要面 2020-06-12 …
聪明的来啊,你可以在纸上画画图有一个运动场跑到,已知跑道长100米,外道与内道的距离是5米,两个两 2020-06-27 …
一个的在中间外面有几箭是什么成语 2020-06-28 …
关于《寓言故事》两个人一同走路.一个人在道上拾到一把斧子,第一个人说:“我们拾到一把斧子.”第二个 2020-07-11 …
个人在道德的问善与问恶,该如何选择 2020-11-11 …
1、一个地方特有的自然环境和风俗礼节习惯的总称2、形容为正义而斗争的精神及其崇高3、三个两个的在一起 2020-11-11 …