.NET(C#)环境下,如何在panel容器里自由拖动picturebox控件

网上找了很多资料,只有CSDN有段代码,不过下载后还是看不明白。希望哪位高手能给个实际例子供本人参考下,感激不尽~~实现功能:panel容器内,包含图片的pictureb... 网上找了很多资料,只有CSDN有段代码,不过下载后还是看不明白。希望哪位高手能给个实际例子供本人参考下,感激不尽~~

实现功能:panel容器内,包含图片的picturebox能随鼠标左键自用拖动。
展开
 我来答
aino77
2010-01-26 · TA获得超过920个赞
知道小有建树答主
回答量:378
采纳率:0%
帮助的人:280万
展开全部
思路是这样的.得有三个变量.
记录x坐标: int xPos;
记录y坐标: int yPos;
记录是否按下鼠标: bool MoveFlag;

//在picturebox的鼠标按下事件里,记录三个变量.
private void picBox_MouseDown(object sender, MouseEventArgs e)
{
MoveFlag = true;//已经按下.
xPos = e.X;//当前x坐标.
yPos = e.Y;//当前y坐标.
}

//在picturebox的鼠标按下事件里.
private void picBox_MouseUp(object sender, MouseEventArgs e)
{
MoveFlag = false;
}

//在picturebox鼠标移动
private void picBox_MouseMove(object sender, MouseEventArgs e)
{
if (MoveFlag)
{
picBox.Left += Convert.ToInt16(e.X - xPos);//设置x坐标.
picBox.Top += Convert.ToInt16(e.Y - yPos);//设置y坐标.
}
}

这样就可以实现控件在容器里的移动
威孚半导体技术
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层... 点击进入详情页
本回答由威孚半导体技术提供
luoyingcan
2010-01-26 · 超过39用户采纳过TA的回答
知道答主
回答量:124
采纳率:0%
帮助的人:108万
展开全部
1楼正解。
先弄明白思路,在看别人的代码。
图片随鼠标拖动,自然要在MouseMove事件里实现图片换位置的功能了。
但是并不是任何情况下图片都要随鼠标移动,只有在左键按下的时候。这就需要设置一个环境变量。这个环境变量表示鼠标左键是否按下。影响这个变量的也就是鼠标的up和down事件。
然后,你只需要把实现图片换位置的代码外面加个条件,判断下环境变量就OK了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
aim0
2010-01-26 · 超过21用户采纳过TA的回答
知道答主
回答量:128
采纳率:0%
帮助的人:48.9万
展开全部
有源代码,就 多试试。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
红衣老大之一
2010-01-26 · TA获得超过365个赞
知道小有建树答主
回答量:767
采纳率:0%
帮助的人:402万
展开全部
有代码 还看不懂

再给你代码 你怎么看啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式