请求大侠:C#中,怎样在移动一个窗体时另一个窗体也跟着同时移动?
解决方案 »
- 收入表支出表,求出每条数据的合计,在根据昨天余额加减今天收入支出。
- C#中如何把int转换成两个字符的string?
- 有人做过基于wince的周立功epcm8960工控机与WinXP进行tcpip通信的程序么
- 两个treeView数据移动,怎么做,
- winForm中DataGrid中cell和header显示图片
- 请教-错误处理的问题
- da.TableMappings.Add("Table",”abc”);da.Update(ds);与da.update(ds,”abc”);是否等价?请说明原因!!
- 如何获取任务管理器的所有进程个数和名字呢?
- 很急:设计类的问题:前台程序员错误使用类,类自身提示错误信息?
- File.CopyTo方法为什么不能用(已经用了using System.IO)?
- 页面跳转 onunload
- 多个USB摄像头数据采集!
{
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);
}
}
在第一个窗口添加LocationChanged事件的处理函数,然后再里面设置第二个窗口的位置
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);
}
}
}
inity = this.Top;
initx1 = f.Left;
inity1 = f.Top;
到Form1_Move事件时,这几个值都是0,移动第一个窗体,第二个窗体也不移动。注:我的第一个窗体是居中显示!!!
{
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; }
}
}
现在是有三个窗体?你到底要移动哪个动哪个不好意思,也许是我描述的不清楚,是这样的,在一个界面上双击SHow弹出一个窗体标示为Form1,剧中显示,Form1里面有一个按钮是show弹出另一个窗体标示为Form2,两个窗体都弹出时,移动第一个窗体Form1,第二个窗体Form2也随之移动...