C# 文件拖拽和pixturBox缩放与拖拽功能
文件拖拽:
效果:将一个文件拖拽到窗体的某个控件时,将该控件的路径显示在该控件上,只要拿到了路径自然可以读取文件中的内容了。
将一个控件的属性AllowDrop设置为true,然后添加DragDrop、DragEnter时间处理函数,如下:
privatevoidtxtAppPath_DragEnter(objectsender,System.Windows.Forms.DragEventArgse) { if(e.Data.GetDataPresent(DataFormats.FileDrop)) { e.Effect=DragDropEffects.Link; } else { e.Effect=DragDropEffects.None; } } privatevoidtxtAppPath_DragDrop(objectsender,System.Windows.Forms.DragEventArgse) { txtLocalFileName.Text=((System.Array)e.Data.GetData(DataFormats.FileDrop)).GetValue(0).ToString(); }
图片的缩放和拖拽:
一、实现鼠标滚轮控制图片缩放;
1、设置PixtureBox属性:
Dock:none
SizeMode:StretchImage
2、添加事件:
(1)设置绑定图片路径
privatevoidScrewInfoForm_Shown(objectsender,EventArgse) { //加载装配图纸 stringdrawingPath=Path.Combine(@"\\192.168.2.136\PCS",productCode+".png"); try { pbxDrawing.Load(drawingPath); } catch(Exceptionex) { MessageBox.Show("加载装配图纸失败,详细:"+ex.Message,"测量",MessageBoxButtons.OK,MessageBoxIcon.Error); return; } }
(2)添加事件1
pbxDrawing.MouseWheel+=newMouseEventHandler(pbxDrawing_MouseWheel); //实现滚轮缩放 privatevoidpbxDrawing_MouseWheel(objectsender,System.Windows.Forms.MouseEventArgse) { 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
//实现移动图片 intxPos; intyPos; boolMoveFlag; privatevoidpbxDrawing_MouseDown(objectsender,MouseEventArgse) { this.pbxDrawing.Focus(); MoveFlag=true;//已经按下. xPos=e.X;//当前x坐标. yPos=e.Y;//当前y坐标. } //在picturebox的鼠标按下事件里. privatevoidpbxDrawing_MouseUp(objectsender,MouseEventArgse) { MoveFlag=false; } //在picturebox鼠标移动 privatevoidpbxDrawing_MouseMove(objectsender,MouseEventArgse) { if(MoveFlag) { pbxDrawing.Left+=Convert.ToInt16(e.X-xPos);//设置x坐标. pbxDrawing.Top+=Convert.ToInt16(e.Y-yPos);//设置y坐标. } }
总结
以上所述是小编给大家介绍的c#文件拖拽和pixturBox缩放与拖拽,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!