文件拖拽:

效果:将一个文件拖拽到窗体的某个控件时,将该控件的路径显示在该控件上,只要拿到了路径自然可以读取文件中的内容了。

将一个控件的属性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().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 < )
{
this.pbxDrawing.Width = this.pbxDrawing.Width * / ;
this.pbxDrawing.Height = this.pbxDrawing.Height * / ;
}
else
{
this.pbxDrawing.Width = this.pbxDrawing.Width * / ;
this.pbxDrawing.Height = this.pbxDrawing.Height * / ;
}
}

(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缩放与拖拽的更多相关文章

  1. 缩放系列(三):一个可以手势缩放、拖拽、旋转的layout

    弄了一个下午,终于搞出来了,PowerfulLayout 下面是一个功能强大的改造的例子: 可以实现以下需求: 1.两个手指进行缩放布局 2.所有子控件也随着缩放, 3.子控件该有的功能不能丢失(像b ...

  2. Android 自定义ImageView支持缩放,拖拽,方便复用

    今天刚发了一篇关于ImageView的缩放和拖拽的博客,然后我想了下,将他自定义下,方便我们来复用这个imageView,效果我就不多说了,http://blog.csdn.net/xiaanming ...

  3. C#实现GDI+基本图的缩放、拖拽、移动

    C#实现GDI+基本图的缩放.拖拽.移动示例代码如下: using System;using System.Collections.Generic;using System.ComponentMode ...

  4. AJ学IOS(36)UI之手势事件旋转_缩放_拖拽

    AJ分享,必须精品 效果 完成一个图片的捏合缩放,拖拽,旋转动作. 设计思路 拖拽: 首先是最简单的拖拽 //拖拽 -(void)panTest { UIPanGestureRecognizer *p ...

  5. flutter实现可缩放可拖拽双击放大的图片功能

    flutter实现可缩放可拖拽双击放大的图片功能 可缩放可拖拽的功能,可实现图片或者其他widget的缩放已经拖拽并支持双击放大的功能 我们知道官方提供了双击缩放,但是不支持拖拽的功能,我们要实现向百 ...

  6. C#pictureBox滚轮缩放与拖拽

    [转载]C#pictureBox滚轮缩放与拖拽 [转载]C#中图像平移.缩放的实现技巧 [转载]c# 通过鼠标拖动.放大图片,GDI绘图通过鼠标拖动.放大

  7. 基于html5拖拽api实现列表的拖拽排序

    基于html5拖拽api实现列表的拖拽排序 html代码: <ul ondrop="drop_handler(event);" ondragover="dragov ...

  8. C# 图片缩放,拖拽后保存成图片的功能

    窗体界面部分如下: 鼠标的缩放功能需要手动在 OpertaionImg.Designer.cs 文件里面添加一句代码,具体代码如下: //picturePhoto显示图片的控件 this.pictur ...

  9. Qt拖拽界面 (*.ui) 缩放问题及解决办法

    问题 使用Qt Designer 设计的界面,在缩放的时候不能随着主窗口一起缩放. 解决办法 之前遇到这个问题的时候,都是直接重写resizeEvent接口来实现的,在自动生成的Ui_Widget或U ...

随机推荐

  1. 【ocp-12c】最新Oracle OCP-071考试题库(38题)

    38.choose the best answer View the Exhibit and examine the data in the PROMOTIONS table. PROMO_BEGIN ...

  2. 【Oracle 12c】CUUG OCP认证071考试原题解析(32)

    32.choose the best answer View the Exhibit and examine the data in EMP and DEPT tables. In the DEPT ...

  3. 从【BZOJ4173】谈做题技巧

    题目描述 ----------------------------------------------------------------------------------------------- ...

  4. Java几个基本概念

    To xj 编译:test.java->test.class反编译:test.class->test.java打jar包:test.class->test.jar打war包:test ...

  5. 为解决Samba windows 无法访问 尝试过的方法

    1, 通过   vi /etc/sysconfig/selinux 把 SELINUX=enforcing   修改为SELINUX= disable 退出保存,并且重启.(设置了) 2, 把wind ...

  6. [ActionScript3.0] 使用FileReference处理单个文件的上载

    package { import flash.display.SimpleButton; import flash.display.Sprite; import flash.errors.Illega ...

  7. 字符串模式匹配算法1 - BF和KMP算法

    在字符串S中定位/查找某个子字符串P的操作,通常称为字符串的模式匹配,其中P称为模式串.模式匹配有多种算法,这里先总结一下BF算法和KMP算法. 注意:本文在讨论字符位置/指针/下标时,全部使用C语法 ...

  8. Python3 操作系统与路径 模块(os / os.path / pathlib)

    #!/usr/bin/env python # coding=utf-8 __author__ = 'Luzhuo' __date__ = '2017/5/7' import os def os_de ...

  9. SpringBoot 整合 中国移动 MAS HTTP1.0 实现短信发送服务

    因为客户需要,本身使用的 阿里云的短信服务改为了中国移动MAS HTTP 1.0  短信通知,因为看到网络上关于此类的博客知识很少,再趟完坑后特地写下这篇博客,提醒后来人. 特别感谢 中国移动MAS ...

  10. 1.CentOS6.5下的基础DNS配置

    常规DNS的安全和配置1.安装DNSyum -y install bind bind-utils安装后生成的文件,我们主要配置下面几个/etc/named.conf/var/named/xx这个xx是 ...