111,097
社区成员




namespace 移动窗体
{
public partial class Form1 : Form
{
private Form f;
int initx = 0;//初始left距离
int inity = 0;//初始top距离
int initx1 = 0;//初始left距离
int inity1 = 0;//初始top距离
public Form1()
{
InitializeComponent();
}
private void btnShowDialog_Click(object sender, EventArgs e)
{
f=new Form();
f.Show();
f.Move += f_Move;
initx = this.Left;
inity = this.Top;
initx1 = f.Left;
inity1 = f.Top;
}
private void f_Move(object sender, EventArgs e)
{
this.Top += f.Top - inity1;
this.Left += f.Left - initx1;
inity1 = f.Top;
initx1 = f.Left;
}
}
}
public partial class Form1 : Form
{
Form2 f = null;
int initx = 0;//初始left距离
int inity = 0;//初始top距离
int initx1 = 0;//初始left距离
int inity1 = 0;//初始top距离
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
f = new Form2();
f.Show();
initx = this.Left;
inity = this.Top;
initx1 = f.Left;
inity1 = f.Top;
}
private void Form1_Move(object sender, EventArgs e)
{
if (f != null)
{
f.Top = initx1 + (this.Top - inity);
f.Left = inity1 + (this.Left - initx);
}
}
}
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 f = new Form2(this);
f.Show();
}
}
public partial class Form2 : Form
{
public Form1 f1 = null;
int initx=0;//初始left距离
int inity=0;//初始top距离
int initx1 = 0;//初始left距离
int inity1 = 0;//初始top距离
public Form2(Form1 f)
{
f1 = f;
InitializeComponent();
initx = this.Left;
inity = this.Top;
initx1 = f1.Left;
inity1 = f1.Top;
}
private void Form2_Move(object sender, EventArgs e)
{
f1.Top = initx1 + (this.Top - inity);
f1.Left = inity1 + (this.Left - initx);
}
}
在Winform中用c#语言,怎样使移动一个窗体时另一个窗体也跟着同时移动? 由Windows版移至C#
由Windows版移至C#