怎么用.NET做登录界面?

elvee 2008-11-25 10:09:12
我想做一个登录界面,具体如下:首先弹出一个登录窗体FormLogin ,然后用户输入用户名和密码进行登录,登录后,进入程序主窗体MainForm,并同时关闭登录窗体FormLogin。

但是,当我关闭登录窗体FormLogin后,主窗体也关闭了。这是为什么?应该怎么改?

...全文
476 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
huwei001982 2008-11-26
  • 打赏
  • 举报
回复
5 楼是正解
elvee 2008-11-26
  • 打赏
  • 举报
回复
谢谢,我去试试,呵呵.

http://download.csdn.net/source/244810 这个东西太贵了,俺是穷人,估计是看不了了.
dxjhq 2008-11-26
  • 打赏
  • 举报
回复
首先在application.run里加载mdi
设置一个全局的变量,比如用户信息,如果为空就表示没有登陆,把frmlogin.showdialog出来
这样有个好处就是mdi的窗体可以显示出来后前面显示个登陆窗体,整体比较友好。
s000rd 2008-11-26
  • 打赏
  • 举报
回复
5楼的是正确的
llsen 2008-11-26
  • 打赏
  • 举报
回复
5楼的是正确的

或者
启动项目设为mainfrom

然后mainform_load里面
写上下面代码

loginform login = new loginform();
login.show();

if (DialogResult.OK != login.LoginSate)
{
login.diagnose();
this.diagnose();
}
呦呦 2008-11-26
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wendao745 的回复:]
这个简单, 你说的是winform吧?

[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);

LoginForm loginfrm = new LoginForm();
loginfrm.ShowDialog();
if (DialogResult.OK == loginfrm.LoginSate)
{
Application.Ru…
[/Quote]
啊兵 2008-11-26
  • 打赏
  • 举报
回复
5楼是正解


我就是这样做的
superzxf 2008-11-26
  • 打赏
  • 举报
回复
5楼是正解
把登录窗体hide不是好的编程习惯
主窗体应该是 Application.Run出来的,不应该是ShowDialog()出来的,尤其当主窗体是mdi主窗体的时候

huiweichi 2008-11-26
  • 打赏
  • 举报
回复
MainForm mf = new MainForm();
mf.Show();/mf.ShowDialog(); //MainForm窗体显示
this.Hide(); //FormLogin窗体隐藏
zhouxingyu896 2008-11-26
  • 打赏
  • 举报
回复
5 楼是正解
GeomaticMm 2008-11-25
  • 打赏
  • 举报
回复
支持楼上的 下载区有个C#的通讯录源代码 写得很不错 就是用这种方式的 推荐下
http://download.csdn.net/source/244810
我刚接触C#的 这几天就是看他的源码 然后对照文档
里面说明比较少 想用的话 得先在VS环境里自己写SQL语句 对他的MDB文件新增用户
wendao745 2008-11-25
  • 打赏
  • 举报
回复
这个简单, 你说的是winform吧?

[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);

LoginForm loginfrm = new LoginForm();
loginfrm.ShowDialog();
if (DialogResult.OK == loginfrm.LoginSate)
{
Application.Run(new MainForm());
}
}

可以这样, 先把登录窗体当对话框, 然后再运行主程序.
elvee 2008-11-25
  • 打赏
  • 举报
回复
我现在是这么做的,但感觉不太好:
在登录窗体的“登录”按钮下加如下代码:
//....
MainForm MF=new MainForm();
this.hide();
MF.ShowDialog();
this.close();

但是总感觉这个代码不好,因为在使用MainForm的过程中FormLogin依然存在。
Wayne 2008-11-25
  • 打赏
  • 举报
回复
隐藏FormLogin页面就好了。 有hide的。
carterslam 2008-11-25
  • 打赏
  • 举报
回复
进入主窗体,关闭登录窗体:FormLogin.visible = false;
关闭所有窗体:Application.Exit();
hhhh63 2008-11-25
  • 打赏
  • 举报
回复
首先建立MainForm,可以不显示,然后弹出FormLogin,这样就行了

111,131

社区成员

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

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

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