c#在picturebox控件里,绘制如图的图形并跟着鼠标移动?(在线坐等大神)

如题所述

这个。。我有个很简单但是很粗略的实现,就是通过实现picturebox的mousemove事件,然后没移动一下 就画一次,最后擦除掉。。。

  public int newX;
        public int newY;
        private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
        {
            newX = e.X;
            newY = e.Y;

            Graphics g = pictureBox1.CreateGraphics();
            Pen p = new Pen(Brushes.Black, 10);
            g.DrawLine(p, newX, newY, newX, newY + 50);
            g.DrawLine(p, newX + 50, newY, newX + 50, newY + 50);
            g.DrawLine(p, newX + 100, newY, newX + 100, newY + 50);
            g.DrawLine(p, newX, newY+50, newX + 100, newY + 50);

            pictureBox1.Invalidate();
        }

但是这样效果很不好。。建议,可以用图片代替。。这样每次移动 就可以改变图片的地址。。就好。。


希望对你又帮助 加油!!

温馨提示:内容为网友见解,仅供参考
无其他回答

c#在picturebox控件里,绘制如图的图形并跟着鼠标移动?(在线坐等...
这个。。我有个很简单但是很粗略的实现,就是通过实现picturebox的mousemove事件,然后没移动一下 就画一次,最后擦除掉。。。public int newX; public int newY; private void pictureBox1_MouseMove(object sender, MouseEventArgs e) { newX = e.X; newY = e.Y; Graphics g...

C# picturebox 中怎么对所绘制图形中的各图元选中,移动呢?
首先你在PictureBox的move事件里判断鼠标点是否在你那个图元的区域内。用个标志位标识。然后如果在图元的区域内,鼠标Down的时候和Move的时候开始修改图元的绘制的Location。这样就做到了移动图元的效果.

C#怎么让画在picturebox中的图随鼠标滚轮放大缩小?
最后补一句,Zoom是“按比例缩放图片”,Strech才是“填满容器”,当然,如果picturebox大小比例和图像宽高比不一致,strech会让图片变形。

C#中怎么让图片框跟着鼠标移动
给你个最简单的方法:Pbx有鼠标按下事件,鼠标抬起事件和鼠标移动事件pictureBox_MouseMove 当按下(先声明一个全局bool 在按下时bool temp = true;抬起后 false)后鼠标移动事件里写 if(temp == true)Pbx.Location = new Point(MousePosition.X, MousePosition.Y);需要注意两个问题 一是你可能需要记录...

c#如何用鼠标中键拖动picturebox图片或图形?想CAD那样一直按着中键...
记录鼠标按下的位置 p0 = e.Location; \/\/ 设置标志:准备拖动图片 canDrag= true; } } private void pictureBox1_MouseUp(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Middle) { \/\/ 松开鼠标中键,清除拖动标志,禁止鼠标拖动图标操作 ca...

用C#画图,怎么移动所画的图形,请教高手指点!!
更改你所画好的图所在的位置即可,将已画图形放在一个panel或picturebox上,需要移动时重新初始化控件的location属性就好了。下面代码是你panel位置随着你的光标位置移动而移动 Dim pi As Point = New Point(MousePosition.X, MousePosition.Y)panel.location = pi;...

C# WinForm 鼠标移动PictureBox控件的问题
LZ你好,出现阴影或闪烁现象是由控件重绘造成的。控件改变自身大小、位置,或者改变显示状态,都会使控件重绘,是否有良好的用户体验是由硬件性能和是否对重绘进行了优化来决定的。优化建议:使用双缓冲技术。即把窗体(Form)的DoubleBuffered的值设为True;双缓冲技术的原理是:先将图像绘制到内存中的一块画布...

在C#中如何按照随机点数移动图片(有多个picturebox,就在这多个pictureb...
然后你把这个坐标和picturebox控件的左上角一一比对,看那个最接近(x,y)就在哪个picturebox中显示。不过如果picturebox过多的话,会非常麻烦。所以请看第二种方法:不用picturebox,直接随机产生x和y(当然x,y的大小你要限定,不能超过坐标)以后,直接GDI+画图画到这个窗体上面。

C#实现在picturebox中每单击鼠标在该位置画一个矩形,下次单击鼠标在新位...
在PictureBox的MouseDown事件里,处理绘制的逻辑,以下是我的测试代码,希望对你有帮助 void pictureBox1_MouseDown(object sender, MouseEventArgs e){ if (null == pictureBox1.BackgroundImage){ pictureBox1.BackgroundImage = new Bitmap(pictureBox1.Width, pictureBox1.Height);} using (Graphics...

...可以实现窗口内内容跟随鼠标移动,并对其内容进行缩放
private void pictureBox1_MouseDown(object sender, MouseEventArgs e){ Cursor = Cursors.Hand;starMove = true;startPoint = e.Location;} \/\/\/ \/\/\/ 鼠标按下且移动时 \/\/\/ \/\/\/ \/\/\/ private void pictureBox1_MouseMove(object sender, MouseEventArgs e){ if (starMove){ System.Threadi...

相似回答