winform中,代码里用画线DrawLines连接几个pictures,然后要实现整体缩小放大

问题描述

winform中,拖了一个panel在form上,放了五个picturebox,然后在panel1_Paint事件里画线DrawLines连接五个pictures,有两个缩小放大按钮,点击缩小,实现整体等比例缩小,点击放大,实现等比例放大,并整体位置改变,怎么实现///<summary>///画图///</summary>///<paramname="sender"></param>///<paramname="e"></param>privatevoidpanel1_Paint(objectsender,PaintEventArgse){Point[]points={newPoint(pb5.Location.X+pb5.Width,pb5.Location.Y+pb5.Height),newPoint(pb4.Location.X,pb4.Location.Y+pb4.Height/2),newPoint(pb4.Location.X+pb4.Width,pb4.Location.Y+pb4.Height/2),newPoint(pb1.Location.X+pb1.Width,pb1.Location.Y+pb1.Height/2),};Point[]points2={newPoint(pb4.Location.X+pb4.Width,pb4.Location.Y+pb4.Height/2),newPoint(pb2.Location.X+pb2.Width,pb2.Location.Y+pb2.Height/2)};Point[]points3={newPoint(pb4.Location.X,pb4.Location.Y+pb4.Height/2),newPoint(pb3.Location.X+pb3.Width,pb3.Location.Y+pb3.Height/2)};e.Graphics.DrawLines(newPen(Color.Black,4),points);e.Graphics.DrawLines(newPen(Color.Black,4),points2);e.Graphics.DrawLines(newPen(Color.Black,4),points3);}

解决方案

解决方案二:
都用Paint了,为什么还要用PictureBox呢?很多人都是不放心自己做绘图过程,然后就出现很多无法解释的问题。放大缩小难道不是用坐标计算就能实现的吗?这个计算过程不能再伸手要了吧
解决方案三:
panel没有改变尺寸,panel中的五个picturebox也没有动那么放大缩小的是什么呢?线条也有大小吗?
解决方案四:
那你就改变panel的属性啊

时间: 2024-09-17 04:46:18

winform中,代码里用画线DrawLines连接几个pictures,然后要实现整体缩小放大的相关文章

c++-请教一个MFC函数里鼠标画线的问题

问题描述 请教一个MFC函数里鼠标画线的问题 void C3Dlg::OnMouseMove(UINT nFlags, CPoint point) { // TODO: 在此添加消息处理程序代码和/或调用默认值 if (nFlags == MK_LBUTTON) { dc->MoveTo(pt); dc->LineTo(point.x , point.y ); } pt = point; CDialogEx::OnMouseMove(nFlags, point); } 请问下这个程序如果把 P

Word怎么清除页眉中带有的下画线

  在Word中插入页眉,但总是会在下面有一条横线,使用常规方法不能删除.清除下画线的方法如下: 1.确认插入点位于页眉. 2.选择"格式""边框和底纹",打开"边框和底纹". 3.切换到"边框"选项,级那个设置中的选择"无". 4.在"应用于"中选择"段落",单击"确定"即可.

C#WINFORM中listview里多行按钮不能和文字一样上下滚动

问题描述 C#Winform中放了一个listview里放了多个按钮,上下拉动滚动条按钮没有随着文字上下拉动,只有文字上下拉动!我在listview里面绑定了很多行的数据,每一行都有按钮,然而当我上下滚动屏幕的时候发现,除了文字可以上下滚动,按钮就在那里一动不动,拉下去的时候,按钮点出来的信息还是前面几行的数据,某一个按钮的Tag的值还是前面几行的Tag的值,请问上下拖动时,怎么让按钮也随着文字一样上下滚动,按钮的Tag还是原来的那一行的Tag. 解决方案 本帖最后由 hzxs1000 于 20

gdi-WinForm中图片填充GDI+画的矩形后,图片底部出现蓝色的线,如何去除

问题描述 WinForm中图片填充GDI+画的矩形后,图片底部出现蓝色的线,如何去除 解决方案 rectangle 这个是不是比图片高度还高,看看rectangle与图的高度是不是相等

大家来理解Flash使用AS来画线的教程

教程 注:每种代码后面都有演示效果,你可以直接测试,在文章最后给大家提供了所有的源文件 给大家简单介绍一下Flash中使用AS来画线,从下面这个函数开始吧! _root.createEmptyMovieClip("terrain", 1); 这个函数的功能是创建一个空的MC,名字为terrain. 然后开始画线: _root.terrain.lineStyle(10, 0xff0000, 100); 10代表线的粗细:0xff0000代表线颜色:100代表线的alpha为100. 你可

水晶报表画线

问题描述 如图所示,当我设计主子报表时,子报表中通过PUSH方式从Dataset中取数据,在每列数据下面画横线.在预览中可以按行画线,但是打印时就不是按行画线了.在刚开始设计时可以,但是后来我更改了下字段位置又不可以了.不清楚为啥会这样.不知道有没做过报表设计的指点下 解决方案 解决方案二:不是按行画线,问题出在哪了解决方案三:我也不知道,帮你顶了

图像处理-C#中在PictureBox上使用橡皮筋画线

问题描述 C#中在PictureBox上使用橡皮筋画线 想法是在原有图层上加上一个透明图层,在那上面画线段.来获取两点位置和线段长度. 在winform项目中添加一个PictureBox控件,然后添加鼠标在PictureBox上的事件.目前遇到了两个问题,1.透明图层的添加,BufferedGraphics bg对象使用bg.Graphics.Clear(Color.Transparent);时背景为黑色,如何设置透明色? 在网上看了许多,是用图像缓存技术来实现的.具体代码如下: using S

c#画图-在C#winform中如何画下图

问题描述 在C#winform中如何画下图 解决方案 中间是文本框和标签,不需要画,外围无非就是圆.线和数字,分别用graphic的DrawEllipse.DrawLine和DrawText实现.唯一需要注意的是这些东西的坐标,以中心点为圆心,分为20等分. 每一份的角度a分别为2pi/20,每个点的xy分别是sina,cosa,用Math.Sin/Cos可以算出坐标. 解决方案二: c#winform截图 解决方案三: 再不会,自己google下C#绘制时钟,你的代码和那个思路一样,人家是12

编码-C#中线程里调用winform上的控件,问题。求助。

问题描述 C#中线程里调用winform上的控件,问题.求助. 废话不多说,我直接贴代码了.程序很简单.我摘抄的网上的. 上图是个界面. 然后程序里先是一个类.如下: class ClientThread { Encoding encoding = Encoding.GetEncoding("GB2312"); private Socket client; public string data = null; private byte[] receiveBytes = new byte