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缩放与拖拽,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!