У меня есть форма входа в систему и основная форма MDI в моем приложении c # windows.В этом я открываю мою форму входа, как это в событии загрузки формы MDI.И когда вход в систему успешен, он только выходит и включает основную форму MDI.Только недавно я узнал, что если я закрою форму входа в систему, она закроется, а затем включит основную MDI без каких-либо барьеров.
Так я загружаю свой логин в основную форму MDI.
private void MDiMain_Load(object sender, EventArgs e)
{
setDisplaysize();
Form newLogin = new FormControllers.FrmLogin();
newLogin.StartPosition = FormStartPosition.CenterScreen;
//newLogin.Show(this);
newLogin.ShowDialog(this);
newLogin.Focus();
newLogin.TopMost = true;
newLogin.Activate();
}
Затем я попытался изменить свое приложение таким образом, используя этот сегмент кода
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
FormControllers.FrmLogin fLogin = new FormControllers.FrmLogin();
if (fLogin.ShowDialog() == DialogResult.OK)
{
Application.Run(new MDiMain());
}
else
{
Application.Exit();
}
}
Теперь открывается форма входа в систему, но после успешного входа основная форма MDI не запускается.Что я здесь не так делаю?
Кроме того, это мой код кнопки входа в форму входа
private void btnLogin_Click(object sender, EventArgs e)
{
string txtPass = "";
string txttPassword = "";
string txtHoldStr = "";
String txtStringst1 = "";
char chrFstep ='c';
char chrSstep ='c';
int testInt = 0;
using (DataControllers.RIT_Allocation_Entities EntityModel = new DataControllers.RIT_Allocation_Entities())
{
try
{
userHeadModel = EntityModel.TBLU_USERHED.Where(x => x.USERHED_USERCODE == (txtUserName.Text.Trim())).FirstOrDefault();
txtPass = userHeadModel.USERHED_PASSWORD;
txttPassword = txtPassword.Text.Trim();
if (txtPass == txtHoldStr)
{
MessageBox.Show("Login Successful");
this.Close();
}
else
{
MessageBox.Show("Invalid username or password please try again");
txtPassword.Focus();
}
}
catch (Exception ex) { }
}
}