C#2008: Form1 Open Form2

spmzfz 2009-04-19 10:06:41
在C#2008中,我想在Form1中通过点及一个按扭打开一个已经设计好的Form2,并把Form2的窗口激活(即:如果最小化,则还原
如果不是活动窗体,则将其激活),如果窗体关闭或者没有打开,则打开Form2。

记得这种方式在VB6.0中是可以实现的。
注意:不要使用New 运算符,因为Form2是已经设计好了的。


...全文
142 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
spmzfz 2009-04-19
  • 打赏
  • 举报
回复
public static partial class Form2 : Form


我还是不能够在FORM1中这样写啊: Form2.show();
spmzfz 2009-04-19
  • 打赏
  • 举报
回复
是这样的,我想在FORM2中保存一些值,如在FORM2中建一个TEXT,打开FORM2后,再在TEXT中输入一些值,当FORM2结关闭后再次打开时,我想看到的是FORM2中的那个TEXT中的值还存在那里,不知道能不能做到?


把你的FORM2改成静态类,可帮助我写一下代码吗?
wuyq11 2009-04-19
  • 打赏
  • 举报
回复
form2 fr=new form2();
fr.Show();
fr.Activate();
fr.WindowState = FormWindowState.Maximized;
没有打开时判断form2是否存在,不存在打开页面
ginni215 2009-04-19
  • 打赏
  • 举报
回复
不使用new,那你得把你的FORM2改成静态类,不然怎么SHOW()啊~
zhujinbo 2009-04-19
  • 打赏
  • 举报
回复
this.visiable=false;
form2 fr=new form2();
fr.show();
至于你说的from2已经设计好不想new。我想是你对面向对象还什么了解,
form2 fr=new form2();这句话只是将你设计好的form2进行一次实例化,新打开的窗体还是你设计好的那个窗体。
kongdelu2008 2009-04-19
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wuyq11 的回复:]
form2 fr=new form2();
fr.Show();
fr.Activate();
fr.WindowState = FormWindowState.Maximized;
没有打开时判断form2是否存在,不存在打开页面
[/Quote]
正解
lishuhua19820919 2009-04-19
  • 打赏
  • 举报
回复
可以这样解决。
在Form1中声明加入:public string strtext;//存储Form2中要存储的比如textBox1中的文本值。
在Form2中加入如下代码:
public Form1 main;
修改textBox1的定义为public
修改Form1的构造函数为:
Form2(Form1 main)
{
this.main = main;
...
}
private void Form2_Closing(object sender,System.ComponentModel.CancelEventArgs e)
{
main.strtext = textBox1.text;//Form2窗体函数退出时保存textBox1.text
}
最后在Form1的按钮响应函数中添加如下代码:
this.visiable=false;
if(childForm == null)
{
childForm = new Form2(this);
childForm.textBox1.text = strtext;
}
childForm.Show();

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧