【发布时间】:2013-11-07 01:02:49
【问题描述】:
所以我在谷歌上搜索了一下,找到了一些用鼠标拖动按钮的代码。我发现了很多,尽管这些都不适合我。
所以我问你! :-)
我试图在我的表单中运行的代码:
bool isDragged = false;
Point ptOffset;
private void button1_MouseDown( object sender, MouseEventArgs e )
{
if ( e.Button == MouseButtons.Left )
{
isDragged = true;
Point ptStartPosition = button1.PointToScreen(new Point(e.X, e.Y));
ptOffset = new Point();
ptOffset.X = button1.Location.X - ptStartPosition.X;
ptOffset.Y = button1.Location.Y - ptStartPosition.Y;
}
else
{
isDragged = false;
}
}
private void button1_MouseMove( object sender, MouseEventArgs e )
{
if ( isDragged )
{
Point newPoint = button1.PointToScreen(new Point(e.X, e.Y));
newPoint.Offset(ptOffset);
button1.Location = newPoint;
}
}
private void button1_MouseUp( object sender, MouseEventArgs e )
{
isDragged = false;
}
我当然把pictureBox1改成了button1。
但我就是不能让它工作。
有人知道为什么吗?
哦,我想在我的所有按钮上都使用它,那么我应该用什么替换 button1 以使其在所有按钮上都起作用?
-顺便说一句,我使用 Visual Studio Express。
提前谢谢你!
【问题讨论】:
-
当您单击应用程序上的按钮时,您是否正在尝试移动它们?这不会否定按钮的意义,因为它们只会四处移动......?
-
哦.. 你知道例如 iphone,应用程序可以作为按钮点击,但如果你按住屏幕,你可以编辑你想要应用程序的位置。我有点在创造一些东西,你可以在其中移动内容。 :)
-
您的目标是手机?视窗?表格? wpf?
-
Windows :) 我想在学习时创建第二个桌面,这样我就可以更专注于学习,而不是桌面上的所有图标之类的东西。
标签: c# windows visual-studio-express