做一个有类似画图板的界面(部分功能)
操作鼠标,在picturebox的图片上,画线,且能够保存。当前已经可以画线,但是出了一点问题。
操作鼠标,在picturebox的图片上,画线,且能够保存。当前已经可以画线,但是出了一点问题。
按下鼠标左键,拉动鼠标,没有先出现,放开鼠标左键,还是没有线,最后在picturebox上随便找个地方点击左键,刚才那个line直线就出来了,
为什么会这样啊。。
这个是picturebox的paint事件,
		
private void pb_Pic_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
	//Graphics displayGraphics = e.Graphics;
	Graphics displayGraphics = Graphics.FromImage(this.pb_Pic.Image);
	//Graphics displayGraphics = this.pb_Pic.CreateGraphics();
	switch (newType)
	{
	       case ImageType.Line:
		displayGraphics.DrawLine(new Pen(newColor, lineWidth), newPoint.StartP, newPoint.EndP);
		break;
             }
			
	drawingList.DrawList(displayGraphics);
		}
这个事鼠标的下压事件mousedown事件
		
private void pb_Pic_MouseDown_Modify(object sender, System.Windows.Forms.MouseEventArgs e)
{
	if (e.Button != MouseButtons.Left)
		return;
	newPoint = new MousePoint(e.X, e.Y);
	switch (newType)
	{
	case ImageType.Text:
	newForm.Show();
	break;
	}
		}
这个是mousemove事件
private void pb_Pic_MouseMove_Modify(object sender, System.Windows.Forms.MouseEventArgs e)
{
	if (e.Button != MouseButtons.Left)
		return;
	switch (newType)
	{
				
	}
	newPoint.EndX = e.X;
	newPoint.EndY = e.Y;
	//pb_Pic.Invalidate();
		}
这个是mouseUp事件,
private void pb_Pic_MouseUp_Modify(object sender, System.Windows.Forms.MouseEventArgs e)
{
	switch (newType)
	{
		case ImageType.Line:
			//case不重要,省略了
					
			pb_Pic.Invalidate();
			pb_Pic_MouseDown_Modify(pb_Pic,e);
	}
}