文件拖拽:
效果:将一个文件拖拽到窗体的某个控件时,将该控件的路径显示在该控件上,只要拿到了路径自然可以读取文件中的内容了。
将一个控件的属性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缩放与拖拽,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对VEVB武林网网站的支持!
新闻热点
疑难解答