c#winform中如何拖动PictureBox控件中的图片

anlylee 2010-08-05 10:30:19
请都一上,当PictureBox的图片尺寸大于图片框,sizemode为normal正常,我想用鼠标拖动里面的图片,不知道怎么实现,请知道的朋友说说,我并不是要拖动PictureBox控件
...全文
983 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wdd89wdd89 2011-12-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 qiushuang1102 的回复:]
楼上可以解决·
[/Quote]

这个正确,还不给分啊,楼主
jesperzx 2010-10-26
  • 打赏
  • 举报
回复
这个可以用于ppc么
BoyceLyu 2010-08-06
  • 打赏
  • 举报
回复
学习~~~~~~~~~~~
zhuyan853437 2010-08-06
  • 打赏
  • 举报
回复
好详细[Quote=引用 4 楼 cherry9400 的回复:]
c# net 在一个界面上如何拖动一个图片:
1. 在界面上添加一个pictureBox1.
2. 在Class Main里添加下面参数和鼠标的三个event handler。
3. 设置form Main的属性 this.AllowDrop=true;

public partial class Main : Form
{
......
private bool c……
[/Quote]
纯白油条 2010-08-06
  • 打赏
  • 举报
回复
学习中勿扰
cherry9400 2010-08-06
  • 打赏
  • 举报
回复
c# net 在一个界面上如何拖动一个图片:
1. 在界面上添加一个pictureBox1.
2. 在Class Main里添加下面参数和鼠标的三个event handler。
3. 设置form Main的属性 this.AllowDrop=true;

public partial class Main : Form
{
......
private bool canMove = false;
private Point mousePos;

private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
{
if (this.canMove)
{
pictureBox1.Location = new Point(pictureBox1.Location.X
- mousePos.X + e.X, pictureBox1.Location.Y
- mousePos.Y + e.Y);
}
}

private void pictureBoxAP1_MouseDown(object sender, MouseEventArgs e)
{
this.canMove = true;
this.mousePos = new Point(e.X, e.Y);
}

private void pictureBoxAP1_MouseUp(object sender, MouseEventArgs e)
{
this.canMove = false;
}
}
醒子宇 2010-08-05
  • 打赏
  • 举报
回复
楼上可以解决·
wuyq11 2010-08-05
  • 打赏
  • 举报
回复
pictureBox1_MouseMove里调用this.Invalidate();
Paint里使用e.Graphics.DrawImage来绘制
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
e.Graphics.DrawImage(bufferpic,e.ClipRectangle,
new Rectangle(-M_int_mx, -M_int_my, pictureBox1.Width, pictureBox1.Height),GraphicsUnit.Pixel);
}
兔子-顾问 2010-08-05
  • 打赏
  • 举报
回复
记录点击的位置,记录松开位置。计算偏移量,重新绘制,不要用image属性默认的显示图片。

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧