2 dandan rensheng dandan_rensheng 于 2015.07.12 08:52 提问

如何通过单击鼠标左键来移动panel的位置

我在窗体中创建了两个panel(ScreenBox和SScreenBox),其中SScreenBox在ScreenBox内。
我想实现的功能是在ScreenBox中单击鼠标左键,可以将SScreenBox移动到鼠标的位置。
怎么怎么实现啊,是要生成ScreenBox的MouseClick事件吗?要详细代码!谢谢!!!急!!!!!

5个回答

tongyi55555
tongyi55555   2015.07.12 09:08

是Java的JPanel么?是的话就是监听ScreenBox的鼠标事件。

dandan_rensheng
dandan_rensheng 不是,我用的是C#
2 年多之前 回复
suiyunonghen
suiyunonghen   2015.07.12 09:27

MouseDown,然后获得鼠标位置,然后设置位置就行了

dandan_rensheng
dandan_rensheng   2015.07.12 09:50

@不得闲 我用的是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;
}

但是不行,只响应一次,错误的而且移动的位置

caozhy
caozhy   Ds   Rxr 2015.07.12 15:16
CSDNXIAOD
CSDNXIAOD   2015.07.16 15:23

模拟鼠标移动和左键单击
C# 鼠标移动到指定位置,并且单击
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

Csdn user default icon
上传中...
上传图片
插入图片