问题描述
在C#中有一个pannel控件,我现在想在上面画矩形,当画完一个矩形,要记住矩形的位置以及大小,松开鼠标后矩形消失!怎么弄?请教高手!
解决方案
解决方案二:
帮你顶一下
解决方案三:
xml记录一下?
解决方案四:
谢了,有没有例子我看一下,对这个一无所知,学winform不久,请高手指点一下!
解决方案五:
pannel控件上有鼠标的按下事件panel1_MouseDown和panel1_MouseUp利用这两个事件。来计算。在鼠标按下的时候,记住那个点(intX=e.X;intY=e.Y;)在鼠标弹起的时候,记住这个点。利用这两个点计算。画好以后。不刷新的话。是不显示的。
解决方案六:
YoumightuseControlPaint.DrawReversibleFrame:publicpartialclassForm1:Form{PointstartPoint;RectanglelastRect;boolisDragging;publicForm1(){InitializeComponent();}protectedoverridevoidOnMouseDown(MouseEventArgse){startPoint=this.PointToScreen(e.Location);lastRect=newRectangle(0,0,0,0);isDragging=true;}protectedoverridevoidOnMouseMove(MouseEventArgse){if(isDragging){Pointcurrent=this.PointToScreen(e.Location);intwidth=current.X-startPoint.X;intheight=current.Y-startPoint.Y;ControlPaint.DrawReversibleFrame(lastRect,this.BackColor,FrameStyle.Dashed);lastRect=newRectangle(startPoint,newSize(width,height));ControlPaint.DrawReversibleFrame(lastRect,this.BackColor,FrameStyle.Dashed);}}protectedoverridevoidOnMouseUp(MouseEventArgse){if(isDragging){isDragging=false;ControlPaint.DrawReversibleFrame(lastRect,this.BackColor,FrameStyle.Dashed);MessageBox.Show("therectis"+lastRect);}}}
From:
解决方案七:
blog.csdn.net/dunao看看这个吧!应该就是你想要的
解决方案八:
要在OnMouseDown和OnMouseMove事件里面用e.X,和e.Y坐标来取得长和宽然后记录下来作为你矩形的长和宽