winfrom 登陆问题 登陆窗体输入正确用户名跟密码后进入主页面,该怎么关闭登陆窗体? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在你打开窗体后加个this.Hide(); 用this.Hide()当我把主窗体关闭,但该程序还在运行,还有其他方法吗?this.hide()是不是把登陆窗体隐藏起来了? 只能隐藏。不能关闭。方法为this.Hide(); 你的program.cs文件里,有个Application.Run(new FrmLogin());其中括号里的那个窗体就是程序开始运行的窗体。如果结束了,程序也就退出了。所以,只能隐藏。 Application.Run(main());在main窗体的构造函数中加入login=new login()login.showDialog();this.visiable=false;验证通过生this.visiable=truelgoin.close() 遇到过一样的问题我也用hide在主窗体关闭时候,closing事件加了 this.Dispose()要不隐藏的登录窗体最后还是没关闭~~~期待正确的解决方法 假登录窗体为login,主窗体为mainForm则program中的main()方法这样写 [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); //登录窗体作为模态对话框显示,如果验证通过返回 DialogResult.OK //失败返回其他值 login l = new login(); if ( l.ShowDialog() != DialogResult.OK ) { //验证失败 return; } //打开窗体 mainForm m = new mainForm(); //放置显示主窗前需要做的其他准备工作,如果没有,则忽略 //.... //... Application.Run( m ); } 你的不行是指什么啊,不能弹出登录对话框?还是不能进入到主程序?关键是,你login窗体里,有没有设置窗体的返回值啊,就是如果验证通过,要有这句 this.DialogResult = DialogResult.OK;验证失败,要有这句 this.DialogResult = DialogResult.Cancel; 登陆页面代码如下: private void button1_Click(object sender, EventArgs e) { SqlConnection objcon = new SqlConnection("server=.;uid=sa;pwd=314;database=pubs"); objcon.Open(); SqlCommand objcom = new SqlCommand("select * from jobs where job_id=@job_id and min_lvl=@min_lvl",objcon); objcom.Parameters.Add(new SqlParameter("@job_id", SqlDbType.NVarChar, 2)); objcom.Parameters["@job_id"].Value = this.textBox1.Text; objcom.Parameters.Add(new SqlParameter("@min_lvl", SqlDbType.NVarChar, 20)); objcom.Parameters["@min_lvl"].Value = this.textBox2.Text; SqlDataReader objread = objcom.ExecuteReader(); if (objread.Read()) { MessageBox.Show("登陆成功!"); Form2 re = new Form2(); re.ShowDialog(); //this.Hide(); //this.Dispose(); } else { MessageBox.Show("登陆失败!"); } Program代码如下: static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); //Application.Run(new Form1()); //登录窗体作为模态对话框显示,如果验证通过返回 DialogResult.OK //失败返回其他值 Form1 l = new Form1(); if (l.ShowDialog() != DialogResult.OK) { //验证失败 return; } //打开窗体 Form2 m = new Form2(); //放置显示主窗前需要做的其他准备工作,如果没有,则忽略 //.... //... Application.Run(m); }现在能显示主页面窗体,但登陆页面没关闭? 可以实现的!private void frmMain_Load(object sender, EventArgs e) { showLoginAndGetAuths(); } private void showLoginAndGetAuths() { DeviceApp.frmLogin frm = new frmLogin(); frm.connString = connstring; if (frm.ShowDialog() == DialogResult.Cancel) { is_Close = true; this.Close(); } else { operatorId = frm.returnValue; BaseItem.baseOperator.empid = operatorId; BaseItem.baseOperator.connString = connstring; //取出该用户的权限........ if (loadAuths(operatorId) != "") { return; } } this.toolStripStatusLabel1.Text = "操作员:" + getOperatorName(operatorId); }在frmLogin中,当验证通过的时候:this.DialogResult = DialogResult.OK;就可以了! 我在没在登陆页面加如果验证通过,要有这句 this.DialogResult = DialogResult.OK; 验证失败,要有这句 this.DialogResult = DialogResult.Cancel; 谢谢sdfkfkd!! 也谢谢其他回帖的人!! 如何解决异常 尝试读取或写入受保护的内存错误,断点跟踪不到错误出在哪里 windows xp 的管理员权限疑惑 图片问题 我这个Delete方法错在哪里 请问这个提示参数值的方法怎么提不出来数? c# 排除 数组 重复 记录的问题 我为什么得不到父窗口的对象啊 向高手请教,关于双网卡socket发送数据包的问题,万分感谢! 关于数据库取数的问题? C# listview 的用法,谢谢 在线求助,关于e.Graphics.Transform
this.Hide();
this.hide()是不是把登陆窗体隐藏起来了?
方法为this.Hide();
其中括号里的那个窗体就是程序开始运行的窗体。如果结束了,程序也就退出了。所以,只能隐藏。
在main窗体的构造函数中加入
login=new login()
login.showDialog();
this.visiable=false;验证通过生
this.visiable=true
lgoin.close()
我也用hide
在主窗体关闭时候,closing事件加了 this.Dispose()
要不隐藏的登录窗体最后还是没关闭~~~
期待正确的解决方法
则program中的main()方法这样写
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
//登录窗体作为模态对话框显示,如果验证通过返回 DialogResult.OK
//失败返回其他值 login l = new login();
if ( l.ShowDialog() != DialogResult.OK )
{
//验证失败
return;
} //打开窗体
mainForm m = new mainForm();
//放置显示主窗前需要做的其他准备工作,如果没有,则忽略
//....
//... Application.Run( m );
}
关键是,你login窗体里,有没有设置窗体的返回值啊,
就是
如果验证通过,要有这句
this.DialogResult = DialogResult.OK;
验证失败,要有这句
this.DialogResult = DialogResult.Cancel;
private void button1_Click(object sender, EventArgs e)
{
SqlConnection objcon = new SqlConnection("server=.;uid=sa;pwd=314;database=pubs"); objcon.Open(); SqlCommand objcom = new SqlCommand("select * from jobs where job_id=@job_id and min_lvl=@min_lvl",objcon); objcom.Parameters.Add(new SqlParameter("@job_id", SqlDbType.NVarChar, 2)); objcom.Parameters["@job_id"].Value = this.textBox1.Text; objcom.Parameters.Add(new SqlParameter("@min_lvl", SqlDbType.NVarChar, 20)); objcom.Parameters["@min_lvl"].Value = this.textBox2.Text; SqlDataReader objread = objcom.ExecuteReader(); if (objread.Read())
{
MessageBox.Show("登陆成功!"); Form2 re = new Form2(); re.ShowDialog(); //this.Hide(); //this.Dispose();
}
else
{
MessageBox.Show("登陆失败!");
}
Program代码如下:
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
//Application.Run(new Form1()); //登录窗体作为模态对话框显示,如果验证通过返回 DialogResult.OK
//失败返回其他值 Form1 l = new Form1();
if (l.ShowDialog() != DialogResult.OK)
{
//验证失败
return;
} //打开窗体
Form2 m = new Form2();
//放置显示主窗前需要做的其他准备工作,如果没有,则忽略
//....
//... Application.Run(m);
}
现在能显示主页面窗体,但登陆页面没关闭?
private void frmMain_Load(object sender, EventArgs e)
{
showLoginAndGetAuths();
}
private void showLoginAndGetAuths()
{
DeviceApp.frmLogin frm = new frmLogin();
frm.connString = connstring;
if (frm.ShowDialog() == DialogResult.Cancel)
{
is_Close = true;
this.Close();
}
else
{
operatorId = frm.returnValue;
BaseItem.baseOperator.empid = operatorId;
BaseItem.baseOperator.connString = connstring;
//取出该用户的权限........
if (loadAuths(operatorId) != "")
{
return;
}
}
this.toolStripStatusLabel1.Text = "操作员:" + getOperatorName(operatorId);
}在frmLogin中,当验证通过的时候:
this.DialogResult = DialogResult.OK;
就可以了!
如果验证通过,要有这句
this.DialogResult = DialogResult.OK;
验证失败,要有这句
this.DialogResult = DialogResult.Cancel; 谢谢sdfkfkd!! 也谢谢其他回帖的人!!