我目前有一个登录窗口打开MainWindow,触发btnClick事件。通过单击此窗口中的按钮,此窗口应关闭并打开主窗口。
我尝试了但我仍然不知道如何从当前的主窗口访问主窗口。
以下是代码。希望得到一些帮助。谢谢! :P
using ....;
..........;
using ....;
namespace SampleWindowApp
{
public partial class Login : Form
{
public Login()
{
InitializeComponent();
}
private void Login_Load(object sender, EventArgs e)
{
}
private void loginbtn_Click(object sender, EventArgs e)
{
//ConnectionDAL obj = new ConnectionDAL();
BL.LoginBL objBL = new BL.LoginBL();
if(objBL.ValidateBL(txtUsername.Text, txtPass.Text))
{
Mainfrmcs.Show; <---
this.Close; <---
}
else
MessageBox.Show("Incorrect username or password.");
}
}
}
这两行显示错误:
只有赋值,调用,递增,递减,等待和新对象表达式才能用作语句。
答案 0 :(得分:1)
如果您认为自己在WinForms中工作 在显示或关闭任何您想要的内容之前,您必须对其进行定义 实际上,您尝试显示一个存在但没有对象影响的表单,并且它对于结束也是一样的。 您所要做的就是:
.
.
.
if(objBL.ValidateBL(txtUsername.Text, txtPass.Text))
{
Form Mainfrmcs = new Mainfrmcs();
// I suppose there is no MdiParent if you're closing the other but if there was :
Mainfrmcs.MdiParent = this;
Mainfrmcs.Show();
this.Close();
}
else
.
.
.
(如果窗口仍然打开,方法.Close()不会退出程序.Application.Exit()将) 希望这有帮助!
答案 1 :(得分:0)
查看您的代码,看起来您在登录后打开表单,而不是编写Mainfrmcs.Show
,您需要编写new Mainfrmcs().Show()
,并且由于this.Close()
关闭程序,您需要改变它this.Hide()
。