CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

【菜鸟提问】关于运行时主窗体隐藏,显示登录窗体,登录成功后关闭登录窗体,显示主窗体。

楼主diablo1003(小叶)2005-12-23 19:51:23 在 .NET技术 / C# 提问

我将入口点设置在主窗体中,然后运行,但是hide()不能写在LOAD事件中,所以,我主窗体的程序是这么写在Activated事件中  
  private   void   BCMainForm_Activated(object   sender,   System.EventArgs   e)  
  {  
  this.Hide();  
  Logon   logon   =   new   Logon();  
  logon.show();  
  }  
   
  然后在登录窗体Logon中  
  private   void   Confirm_Click(object   sender,   System.EventArgs   e)  
  {  
                        BCMainForm   main   =   new   BCMainForm();  
      main.Show();  
                        this.Close();  
  }  
   
  但这样写好像是重新打开了一个新窗体,而不是将隐藏的窗体显示。  
  并且,由于我还有个Closing时间  
  private   void   BCStartForm_Closing(object   sender,   System.ComponentModel.CancelEventArgs   e)  
  {  
  DialogResult   result=MessageBox.Show("确认要离开BarCode系统吗?",c.sysname+"BarCode系统提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question);      
  if(result==DialogResult.Yes)      
  {  
  e.Cancel=false;  
  Application.Exit();  
  }  
  else  
  {  
  e.Cancel=true;    
  }  
  }  
   
  所以在关闭的时候也就关闭了线程,整个程序就退出了。  
  请问,如何写,这两者的关系才能比较完美啊?  
  谢谢啊  
  问题点数:30、回复次数:9Top

1 楼usepc(usepc)回复于 2005-12-23 20:25:22 得分 10

Form1:  
   
  static   void   Main()    
  {  
  Login   lg=new   Login();  
  lg.ShowDialog();  
  if(lg.IsLogin==true)  
  {  
  Application.EnableVisualStyles();  
  Application.Run(new   Form1());  
  }  
  else  
  {  
  Application.ExitThread();  
  }  
  }  
   
  Form2   (Login)  
   
  private   bool   ISLOGIN=false;  
   
  public   bool   IsLogin  
  {  
  get  
  {  
  return   this.ISLOGIN;  
  }  
  }  
   
  private   void   button1_Click(object   sender,   System.EventArgs   e)  
  {  
                                            if(textBox1.Text=="admin"&&textBox2.Text=="admin")  
                                                {  
                                                      this.ISLOGIN=true;  
                                                  }  
                                          }  
  Top

2 楼cc_net(念念红尘)回复于 2005-12-23 20:35:49 得分 5

我用的方法是建一个类,MAIN方法写在这个类里面,并设为程序入口点  
  然后在这个方法中启动登陆窗口  
  验证通过的话就close登陆窗口  
  显示主窗体Top

3 楼hao1geren(一个好人)回复于 2005-12-23 20:47:23 得分 5

Application.EnableVisualStyles();  
  Application.Run(new   Form1());  
  这里是用到了   XP   主题,但是存在一个问题,那就是   用ShowDialog   显示一个窗体,关闭,再打开的时候容易出错,解决的办法是  
  Application.EnableVisualStyles();  
  Application.DoEvents();  
  Application.Run(new   Form1());Top

4 楼crma799(不会游泳的鸭子)回复于 2005-12-26 14:07:01 得分 0

private   void   Form1_Load(obiect   sender,System.EventArgs   e){  
                            Form2   frmLogin   =   new   Form2();  
                        frmLogin.ShowDialog(this);  
  }  
   
  这样好像就可以先出现“运行时主窗体隐藏,显示登录窗体,登录成功后关闭登录窗体,显示主窗“  
   
  private   void   button2   _Click(........)  
  {  
                条件。。。。  
                else{  
                thiis.DialogResult   =   DialogResult.ok;  
  }  
  }  
  这样可不可以Top

5 楼crma799(不会游泳的鸭子)回复于 2005-12-26 14:09:30 得分 0

button   是在form2   上的Top

6 楼happycharles()回复于 2005-12-26 14:45:16 得分 0

把登录窗体作为主窗体,登录ok后hide掉,new   mainform,show出来Top

7 楼diablo1003(小叶)回复于 2005-12-27 09:48:27 得分 0

这个,若若的问一句啊:  
    usepc  
  FORM1里面的  
  static   void   Main()    
  {  
  }  
  应该写在那里啊?  
  在  
  public   BCMainForm()  
  {  
  //  
  //   Windows   窗体设计器支持所必需的  
  //  
  InitializeComponent();  
   
  //  
  //   TODO:   在   InitializeComponent   调用后添加任何构造函数代码  
  //  
  }  
  里面写么?  
  Top

8 楼diablo1003(小叶)回复于 2005-12-27 09:51:24 得分 0

cc_net(念念红尘)  
  能不能将你写的那个类里面的代码贴出来给我借鉴么?感觉你的那个方法比较的好呢,但不好意思的是我的水平实在有限,还不能马上的反应,谢谢。  
  Top

9 楼s5689412(华君)回复于 2005-12-27 10:15:27 得分 10

类似问题都建议采用ApplicationContext,  
  参考下面的讨论:  
   
  http://community.csdn.net/Expert/TopicView.asp?id=4397826  
  http://community.csdn.net/Expert/topic/4398/4398390.xml?temp=.7976038Top

相关问题

  • 如何隐藏主窗体?
  • 主窗体隐藏问题
  • 如何隐藏主窗体
  • c#.net主窗体隐藏?
  • Delphi中调用子窗体后如何隐藏主窗体???
  • 如何隐藏主窗体?part2
  • 隐藏窗体
  • 主窗体Show了好几个窗体,不是Mdi窗体,如何隐藏所有这些Show出来的窗体?高分求解!
  • 如何在程序起来就隐藏主窗体
  • 新手提问:怎样实现一个按点一下就显示窗体,再点一下就隐藏窗体,自由切换!!~~

关键词

  • .net
  • lg
  • application
  • 窗体
  • 主
  • islogin
  • 登录
  • bcmainform
  • 显示
  • enablevisualstyles

得分解答快速导航

  • 帖主:diablo1003
  • usepc
  • cc_net
  • hao1geren
  • s5689412

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo