问题描述
- 如何通过单击鼠标左键来移动panel的位置
-
我在窗体中创建了两个panel(ScreenBox和SScreenBox),其中SScreenBox在ScreenBox内。
我想实现的功能是在ScreenBox中单击鼠标左键,可以将SScreenBox移动到鼠标的位置。
怎么怎么实现啊,是要生成ScreenBox的MouseClick事件吗?要详细代码!谢谢!!!急!!!!!
解决方案
是Java的JPanel么?是的话就是监听ScreenBox的鼠标事件。
解决方案二:
MouseDown,然后获得鼠标位置,然后设置位置就行了
解决方案三:
@不得闲 我用的是MouseClick
//点击鼠标时,选择框移动到指定位置
private void ScreenBox_MouseClick(object sender, MouseEventArgs e)
{
Point MousePoint=Control.MousePosition;
MousePoint.Offset(this.Location.X,this.Location.Y);
if(e.Button==MouseButtons.Left)
{
if ((MousePoint.X + SScreenBox.Width / 2) <= ScreenBox.Right)
SScreenBox.Left = MousePoint.X - SScreenBox.Width / 2;
else
SScreenBox.Left = ScreenBox.Right - SScreenBox.Width;
if ((MousePoint.Y + SScreenBox.Height / 2) <= ScreenBox.Bottom)
SScreenBox.Top = MousePoint.Y - SScreenBox.Height / 2;
else
SScreenBox.Top = ScreenBox.Bottom - SScreenBox.Height;
}
但是不行,只响应一次,错误的而且移动的位置
解决方案四:
http://blog.sina.com.cn/s/blog_621e24e20101501s.html
解决方案五:
模拟鼠标移动和左键单击
C# 鼠标移动到指定位置,并且单击