请教:如何从从第二窗体回到第一窗体,即从任何一个到另一个后,再从第二个回到第一个。
解决方案 »
- 为什么程序可以运行,但是不能发出声音
- 怎么样用Dataset方法将数据库信息显示在DataGridView中?
- “一”和“%D2%BB”的关系
- 关于LDAP验证用户登录帐号的问题!
- vs2008,C#中引入C语言写的dll?散
- 怎样通过HttpWebResponse获取网络图片并保存在硬盘啊?
- 图片如何出入数据库(sql server)
- 这个格式的xml文件的url怎么下载(https://www.test.com/downfile?w=AFKSDFSLGFD-SDFE)
- 寻求一个排版软件的开发思路
- FastReport重新引用了,可是一旦重现生成还是会报错未引用的FastReport~急急急!
- C# masked text box
- 如何让webBrowser由编辑状态返回至阅读状态?
如果是隐藏的话 窗体2.show 的时候把窗体1传递进去 然后用传递的参数 visible=true 显示出来
firstFormName formName =new firstFormName();
formName.ShowDialog();
如果使用showDialog打开第二个页面的话,只能关闭第二个页面才能使第一个页面在最前面显示
如果采用show的形式打开的话,如下
点击的一个按钮从第一个页面打开第二个页面
在第一个页面上定义一个隐藏的
TextBox,命名为txtPass
,并且这个TextBox的值为"go"
打开第二个页面的方法为:
private void btnOpenNewForm_Click(object sender, EventArgs e)
{
//最好先判定一下是否已经有打开的第二个窗体
From2 dtForm = new From2(this.txtPass);
dtForm.Show();
}
当然第二个窗体必须定义一个带参数的构造函数,并且定义一个全局TextBox变量
public DataTablePractice( TextBox txtPassV)
{
InitializeComponent();
txtPassValue = txtPassV;//引用类型赋值 }
TextBox txtPassValue = new TextBox();
在第二个窗体中有一个按钮btnGoBack,添加click事件
private void btnGoBack_Click(object sender, EventArgs e)
{
//改变第一个窗体的txtPass的值,从而出发TextChanged事件
if (txtPassValue.Text == "go")
{
txtPassValue.Text = "back";
}
else if (txtPassValue.Text == "back")
{
txtPassValue.Text = "go";
}
}
这样在第一个页面中给隐藏的TextBox添加TextChanged事件
private void txtPass_TextChanged(object sender, EventArgs e)
{
this.Focus();//第一个页面获取焦点
}
这样从第一个页面打开第二个页面的时候,点击第二个页面的返回按钮,就可以使第一个页面又重新回到最前面显示。
如果要显示窗体的话: From frm =New From();frm.show();
同理隐藏 From frm =New From();frm.hide();