作者热门文章
- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章C# 文件拖拽和pixturBox缩放与拖拽功能由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
文件拖拽:
效果:将一个文件拖拽到窗体的某个控件时,将该控件的路径显示在该控件上,只要拿到了路径自然可以读取文件中的内容了.
将一个控件的属性AllowDrop设置为true,然后添加DragDrop、DragEnter时间处理函数,如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
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、实现鼠标滚轮控制图片缩放; 。
1、设置PixtureBox属性:
Dock:none 。
SizeMode:StretchImage 。
2、添加事件:
(1)设置绑定图片路径 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
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 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
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 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
//实现移动图片
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缩放与拖拽,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我网站的支持! 。
原文链接:http://www.cnblogs.com/Liyuting/archive/2017/10/31/7759948.html 。
最后此篇关于C# 文件拖拽和pixturBox缩放与拖拽功能的文章就讲到这里了,如果你想了解更多关于C# 文件拖拽和pixturBox缩放与拖拽功能的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我是一名优秀的程序员,十分优秀!