刚刚开始做图形处理方面的东西,希望各位多多指教!我使用C#实现窗口中点击鼠标,划线,鼠标移动过程中实现即时划线,再次点击鼠标,在两次点击的点为开始和结束点,划线。可是在鼠标移动过程中却不能够实现即时的划线(用处是即时显示线条形状,便于决定最终的线条)。请各位帮助(我使用vb.net做是可以的,使用C#画一条线的时候也可以,为什么现在不行?要求用.net作)。......
public bool flag = false;
public Point[] begin = new Point[100];
public Point[] end = new Point[100];
int index = 0;
..... this.pictureBox1.MouseDown += new MouseEventHandler(this.picture1_MouseDown);
this.pictureBox1.MouseMove += new MouseEventHandler(this.picture1_MouseMove);
this.pictureBox1.Paint += new PaintEventHandler(this.picture1_Paint);
.........
private void picture1_Paint(object sender, 
System.Windows.Forms.PaintEventArgs e) {
Graphics g = e.Graphics;
Pen pen = new Pen(Color.Blue,1);
for(int i=0; i< index; i++)  {
g.DrawLine(pen,this.begin[i].X ,this.begin[i].Y,
this.end[i].X  ,this.end[i].Y);
}
}
private void picture1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) {
if(flag == false) {
this.begin[index].X = e.X;
this.begin[index].Y = e.Y;
flag = true;
} else {
this.end[index].X = e.X;
this.end[index].Y = e.Y;
index ++;
this.flag = false;
}
this.pictureBox1.Invalidate();
}
private void picture1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e) {
if(flag == true) {
this.end[index].X  = e.X;
this.end[index].Y  = e.Y;
}
            this.pictureBox1.Invalidate();
}