在winform的窗体程序中,点击按钮后,在panal中生成一个可移动的button控件。
放一个 timer, interval 为100
编写代码
button1.Left += 10;
if (button1.Left > panel1.Width) button1.Left = (0 - button1.Width);
【以下回答由 GPT 生成】
要实现在一个Panel中添加并实现移动功能的Button控件,可以按照以下步骤进行操作:
private void addButton_Click(object sender, EventArgs e)
{
Button newButton = new Button();
newButton.Text = "Move Me"; // 设置新Button的文本
newButton.Location = new Point(10, 10); // 设置新Button的初始位置
newButton.Size = new Size(100, 30); // 设置新Button的大小
newButton.MouseDown += new MouseEventHandler(button_MouseDown); // 绑定鼠标按下事件
newButton.MouseMove += new MouseEventHandler(button_MouseMove); // 绑定鼠标移动事件
newButton.MouseUp += new MouseEventHandler(button_MouseUp); // 绑定鼠标释放事件
panel1.Controls.Add(newButton); // 将新Button添加到Panel控件中
}
private bool isMouseDown = false;
private Point startPoint;
private void button_MouseDown(object sender, MouseEventArgs e)
{
isMouseDown = true;
startPoint = e.Location;
}
private void button_MouseMove(object sender, MouseEventArgs e)
{
if (isMouseDown)
{
Button button = (Button)sender;
Point newLocation = button.Location;
newLocation.Offset(e.Location.X - startPoint.X, e.Location.Y - startPoint.Y);
button.Location = newLocation;
}
}
private void button_MouseUp(object sender, MouseEventArgs e)
{
isMouseDown = false;
}
这样就实现了在Panel控件中添加一个可以移动的Button。当点击添加按钮时,会在Panel控件中生成一个可以拖动的Button。
【相关推荐】
推荐一个我自己写好的类 https://blog.csdn.net/m0_48365841/article/details/132456215