C# 文件拖拽和pixturBox缩放与拖拽功能
程序员文章站
2023-12-18 09:01:04
文件拖拽:
效果:将一个文件拖拽到窗体的某个控件时,将该控件的路径显示在该控件上,只要拿到了路径自然可以读取文件中的内容了。
将一个控件的属性a...
文件拖拽:
效果:将一个文件拖拽到窗体的某个控件时,将该控件的路径显示在该控件上,只要拿到了路径自然可以读取文件中的内容了。
将一个控件的属性allowdrop设置为true,然后添加dragdrop、dragenter时间处理函数,如下:
private void txtapppath_dragenter(object sender, system.windows.forms.drageventargs e) { if (e.data.getdatapresent(dataformats.filedrop)) { e.effect = dragdropeffects.link; } else { e.effect = dragdropeffects.none; } } private void txtapppath_dragdrop(object sender, system.windows.forms.drageventargs e) { txtlocalfilename.text = ((system.array)e.data.getdata(dataformats.filedrop)).getvalue(0).tostring(); }
图片的缩放和拖拽:
一、实现鼠标滚轮控制图片缩放;
1、设置pixturebox属性:
dock:none
sizemode:stretchimage
2、添加事件:
(1)设置绑定图片路径
private void screwinfoform_shown(object sender, eventargs e) { //加载装配图纸 string drawingpath = path.combine(@"\\192.168.2.136\pcs", productcode + ".png"); try { pbxdrawing.load(drawingpath); } catch (exception ex) { messagebox.show("加载装配图纸失败,详细:" + ex.message, "测量", messageboxbuttons.ok, messageboxicon.error); return; } }
(2)添加事件1
pbxdrawing.mousewheel += new mouseeventhandler(pbxdrawing_mousewheel); //实现滚轮缩放 private void pbxdrawing_mousewheel(object sender, system.windows.forms.mouseeventargs e) { if (e.delta < 0) { this.pbxdrawing.width = this.pbxdrawing.width * 9 / 10; this.pbxdrawing.height = this.pbxdrawing.height * 9 / 10; } else { this.pbxdrawing.width = this.pbxdrawing.width * 11 / 10; this.pbxdrawing.height = this.pbxdrawing.height * 11 / 10; } }
(3)添加事件2
//实现移动图片 int xpos; int ypos; bool moveflag; private void pbxdrawing_mousedown(object sender, mouseeventargs e) { this.pbxdrawing.focus(); moveflag = true;//已经按下. xpos = e.x;//当前x坐标. ypos = e.y;//当前y坐标. } //在picturebox的鼠标按下事件里. private void pbxdrawing_mouseup(object sender, mouseeventargs e) { moveflag = false; } //在picturebox鼠标移动 private void pbxdrawing_mousemove(object sender, mouseeventargs e) { if (moveflag) { pbxdrawing.left += convert.toint16(e.x - xpos);//设置x坐标. pbxdrawing.top += convert.toint16(e.y - ypos);//设置y坐标. } }
总结
以上所述是小编给大家介绍的c# 文件拖拽和pixturbox缩放与拖拽,希望对大家有所帮助