C#中form切换时,form上已改变位置的控件被初始化
在main form 中添加按钮button4,点击显示FrmM1,然后改变了FrmM1上的控件button5位置之后,退出FrmM1,
再次在main form 点击button4,点击显示FrmM1时,button5的位置被初始化了!!!!!!!
求教大神,怎么能够在form中保持已改变位置的控件的位置。
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Frm_Main FrmMain = new Frm_Main();
Application.Run(FrmMain);
}
...........
private void button4_Click(object sender, EventArgs e)
{
Frm_M1 FrmM1 = new Frm_M1();
FrmM1.Show();
;
}
...........
private void button2_Click(object sender, EventArgs e)
{
this.Hide();
}
............. c# 控件 form --------------------编程问答-------------------- if (FrmM1 == null || FrmM1.IsDisposed) FrmM1 = new Frm_M1();
FrmM1.Show();
将Frm_M1 FrmM1定义成成员变量:
private Frm_M1 FrmM1; --------------------编程问答-------------------- 将button的位置信息保存,比如注册表,每次form_load时读取,初始化
*****************************************************************************
签名档: http://feiyun0112.cnblogs.com/ --------------------编程问答--------------------
版主说的对,你在click事件里面写了
Frm_M1 FrmM1 = new Frm_M1();
就相当于每次点它都new一个全新的Frm_M1()出来,加上之前你的状态没有持久化保存,这个新的和之前你修改过的当然就不一样了。 --------------------编程问答-------------------- private void button4_Click(object sender, EventArgs e)
{
Frm_M1 FrmM1 = new Frm_M1();
FrmM1.Show();
;
}
每次都new 了一个Frm_M1,自然会初始化了。
把Frm_M1做成单例模式,closing事件里cancel掉,执行hide,然后从parent里把自己remove掉。
下次show之前在装进容器控件里。搞定
补充:.NET技术 , C#