两个不同的窗体,木有任何关系,他们的控件可以互相移来移去。下面是Form1代码,Form2中没有代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace 移动控件到另一个窗体
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
button1.Click += new EventHandler(Button1_Click);
Load += new EventHandler(Form_Load);
}
private Form2 f;
private void Form_Load(object sender, EventArgs e)
{
f = new Form2();
f.Show();
AddButton2();
}
private void Button1_Click(object sender, EventArgs e)
{
Button b = (Button)sender;
if (b.Parent == this)
{
if (f != null)
{
f.Controls.Add(b);
b.Text = "返回原地";
}
}
else
{
this.Controls.Add(b);
b.Text = "开始移动";
}
}
private void AddButton2()
{
Button b = new Button();
b.Name = "Button2";
b.Text = "开始移动";
b.Click += new EventHandler(Button1_Click);
this.Controls.Add(b);
b.Left = button1.Left;
b.Top = button1.Top + button1.Height + 10;
b.Show();
}
}
}