CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

登录窗体的问题

楼主Philip3(3)2006-03-10 11:30:00 在 .NET技术 / C# 提问

各位,我今天在winform下做了一个登录界面,我点击登录按钮的时候会进去另外一个界面,但是怎么关掉这个登录界面啊?有点晕,请各位指教一下吧? 问题点数:20、回复次数:19Top

1 楼kaixin110(kydk.com)回复于 2006-03-10 11:33:33 得分 0

hideTop

2 楼kingdhy(飞鹰)回复于 2006-03-10 11:35:35 得分 0

方法如下:  
  (1)隐藏登录窗体,不能关闭,因为第一个窗体默认为主窗体,你关闭后整个程序结束了.  
  (2)在登录后的主窗体中弹出登录窗体,将登录窗体设为对话框模式.Top

3 楼MyLf(不睡觉的鱼)回复于 2006-03-10 11:35:55 得分 2

如果你的登录窗体是应用程序主窗体(就是Application.Run()方法的参数),则将其隐藏,否则就可以直接close.Top

4 楼usxue(尘飞扬)回复于 2006-03-10 11:36:13 得分 0

this.Hide();  
   
  然后在调出的窗体中的退出事件中加入  
  Application.Exit();Top

5 楼diandian82(点点(nothing))回复于 2006-03-10 11:39:27 得分 0

点击登陆窗体确定后,Application.run(主窗体)Top

6 楼lovvver(ElephantTalk.Bright)回复于 2006-03-10 11:49:06 得分 0

比较好的做法是:  
  登陆窗体:  
  Application.Run(主窗体);  
  this.close();  
   
  这样就可以了。Top

7 楼adrian_hy(男眼睛)回复于 2006-03-10 16:44:39 得分 0

把FROM2设为主窗体,在加载FROM2的同时,SHOW出FORM1登陆窗体的模态窗体。  
  如果密码帐号正确,FORM1的DIALOG状态为TURE。  
  当FORM2接收到FORM1的DIALOG状态为TURE时就把FORM1登陆窗体CLOSE掉。否则就把FORM2窗体CLOSE掉Top

8 楼mbh0210(独孤求败)回复于 2006-03-10 17:30:57 得分 0

隐藏Top

9 楼hawking20001981(东东VC++Primer)回复于 2006-03-11 01:01:15 得分 0

this.visable=false;//隐藏窗体Top

10 楼seeJessica(计院洲洲)回复于 2006-03-11 03:35:03 得分 0

呵呵   也可以这样  
  this.Hide();  
  LoadForm   load=new   LoadForm();  
  load.ShowDialog   ();  
  this.Show();  
  this.WindowState=FormWindowState.Maximized;  
  Top

11 楼FindFullMoon(寻找自己)回复于 2006-03-11 03:36:46 得分 0

好像也就是上面几位说的样子了....  
  Top

12 楼seeJessica(计院洲洲)回复于 2006-03-11 03:36:53 得分 0

 
   
  this.Hide();//主窗体隐藏  
  LoadForm   load=new   LoadForm();//登录窗体showdiloag  
  load.ShowDialog   ();  
  this.Show();///主窗体show  
  this.WindowState=FormWindowState.Maximized;Top

13 楼seeJessica(计院洲洲)回复于 2006-03-11 03:38:37 得分 0

奥   补充一下   在主窗体Load事件中  
  其实处理这些问题   你最好对winform事件有比较好的认识Top

14 楼yz1199(逃离孤独)回复于 2006-03-11 08:37:40 得分 0

可以用线程来关掉,个人认为隐藏做法不妥当,因为那样也会耗内存,也没有真正达到楼主的意图。  
  using   System.Threading;  
  private   void   FormStart()  
  {    
  Application.Run(new   Form1());//运行1个新的程序窗口(登陆窗体)  
                         
  }  
  然后在按钮时间下加  
  Thread   thread=new   Thread(new   ThreadStart(FormStart));  
  thread.Start();//定义1个线程;执行FormsStrat函数;  
  Application.Exit();//程序退出当前窗体Top

15 楼yz1199(逃离孤独)回复于 2006-03-11 08:40:16 得分 0

上面的是加在登陆窗体的  
  Thread   thread=new   Thread(new   ThreadStart(FormStart));  
  thread.Start();//定义1个线程;执行FormsStrat函数;  
  Application.Exit();//程序退出当前窗体  
  这下面就写  
  Form2   ff   =new   Form2();  
  ff.show();Top

16 楼yz1199(逃离孤独)回复于 2006-03-11 09:21:11 得分 18

楼主不好意思,仔细看了下,这是以前的代码,和你的有点不一样,改了一下,可以   用了  
  using   System.Threading;  
  private   void   FormStart()  
  {    
  Application.Run(new   Form2());//运行1个新的程序窗口(主窗体)  
                         
  }  
  然后在按钮时间下加  
  Thread   thread=new   Thread(new   ThreadStart(FormStart));  
  thread.Start();//定义1个线程;执行FormsStrat函数;  
  Application.Exit();//程序退出当前窗体Top

17 楼kxxlqsg(kxxl)回复于 2006-03-11 10:08:16 得分 0

在登录后的窗体frmMain中添加  
                  static   void   Main()  
                  {  
                          //整个程序启动时先显示登录框,登录成功再显示主界面  
                          frmLogin   login   =   new   frmLogin();  
                          login.ShowDialog();  
                          if   (frmLogin.blCanLogin   ==   true)  
                          {  
                                  Application.Run(new   frmMain());  
                          }  
                  }  
   
  在登陆窗体frmLogin中添加  
  public   static   bool   blCanLogin   =   false;       //记录能否验证通过  
   
  在frmLogin窗体载入的时候添加  
  如果用户名密码同时输入正确的时候blCanLoing   =   true;否则blCanLogin   =   false;Top

18 楼Philip3(3)回复于 2006-03-17 15:40:04 得分 0

using   System;      
      using   System.IO;      
      using   System.Text;      
      using   System.Collections;      
           
      namespace   PDFGenerator      
      {      
           
      public   class   PDFGenerator      
      {      
      static   float   pageWidth   =   594.0f;      
      static   float   pageDepth   =   828.0f;      
      static   float   pageMargin   =   30.0f;      
      static   float   fontSize   =   20.0f;      
      static   float   leadSize   =   10.0f;      
           
           
      static   StreamWriter   pPDF=new   StreamWriter("E:\\myPDF.pdf");      
           
      static   MemoryStream   mPDF=   new   MemoryStream();      
           
      static   void   ConvertToByteAndAddtoStream(string   strMsg)      
      {      
      Byte[]   buffer=null;      
      buffer=ASCIIEncoding.ASCII.GetBytes(strMsg);      
      mPDF.Write(buffer,0,buffer.Length);      
      buffer=null;      
      }      
           
      static   string   xRefFormatting(long   xValue)      
      {      
      string   strMsg   =xValue.ToString();      
      int   iLen=strMsg.Length;      
      if   (iLen<10)      
      {      
      StringBuilder   s=new   StringBuilder();      
      int   i=10-iLen;      
      s.Append('0',i);      
      strMsg=s.ToString()   +   strMsg;      
      }      
      return   strMsg;      
      }      
           
      static   void   Main(string[]   args)      
      {      
      ArrayList   xRefs=new   ArrayList();      
      //Byte[]   buffer=null;      
      float   yPos   =0f;      
      long   streamStart=0;      
      long   streamEnd=0;      
      long   streamLen   =0;      
      string   strPDFMessage=null;      
      //PDF文档头信息      
      strPDFMessage="%PDF-1.1\n";      
      ConvertToByteAndAddtoStream(strPDFMessage);      
           
      xRefs.Add(mPDF.Length);      
      strPDFMessage="1   0   obj\n";      
      ConvertToByteAndAddtoStream(strPDFMessage);      
      strPDFMessage="<<   /Length   2   0   R   >>\n";      
      ConvertToByteAndAddtoStream(strPDFMessage);      
      strPDFMessage="stream\n";      
      ConvertToByteAndAddtoStream(strPDFMessage);      
      /**//**//**/////////PDF文档描述      
      streamStart=mPDF.Length;      
      //字体      
      strPDFMessage="BT\n/F0   "   +   fontSize   +"   Tf\n";      
      ConvertToByteAndAddtoStream(strPDFMessage);      
      //PDF文档实体高度      
      yPos   =   pageDepth   -   pageMargin;      
      strPDFMessage=pageMargin   +   "   "   +   yPos   +"   Td\n"   ;      
      ConvertToByteAndAddtoStream(strPDFMessage);      
      strPDFMessage=   leadSize+"   TL\n"   ;      
      ConvertToByteAndAddtoStream(strPDFMessage);      
           
      //实体内容      
      strPDFMessage=   "(http://www.wenhui.org)Tj\n"   ;      
      ConvertToByteAndAddtoStream(strPDFMessage);      
      strPDFMessage=   "ET\n";      
      ConvertToByteAndAddtoStream(strPDFMessage);      
      streamEnd=mPDF.Length;      
           
      streamLen=streamEnd-streamStart;      
      strPDFMessage=   "endstream\nendobj\n";      
      ConvertToByteAndAddtoStream(strPDFMessage);      
      //PDF文档的版本信息      
      xRefs.Add(mPDF.Length);      
      strPDFMessage="2   0   obj\n"+   streamLen   +   "\nendobj\n";      
      ConvertToByteAndAddtoStream(strPDFMessage);      
           
      xRefs.Add(mPDF.Length);      
      strPDFMessage="3   0   obj\n<</Type/Page/Parent   4   0   R/Contents   1   0   R>>\nendobj\n";      
      ConvertToByteAndAddtoStream(strPDFMessage);      
           
      xRefs.Add(mPDF.Length);      
      strPDFMessage="4   0   obj\n<</Type   /Pages   /Count   1\n";      
      ConvertToByteAndAddtoStream(strPDFMessage);      
      strPDFMessage="/Kids[\n3   0   R\n]\n";      
      ConvertToByteAndAddtoStream(strPDFMessage);      
      strPDFMessage="/Resources<</ProcSet[/PDF/Text]/Font<</F0   5   0   R>>   >>\n";      
      ConvertToByteAndAddtoStream(strPDFMessage);      
      strPDFMessage="/MediaBox   [   0   0   "+   pageWidth   +   "   "   +   pageDepth   +   "   ]\n>>\nendobj\n";      
      ConvertToByteAndAddtoStream(strPDFMessage);      
           
      xRefs.Add(mPDF.Length);      
      strPDFMessage="5   0   obj\n<</Type/Font/Subtype/Type1/BaseFont/Courier/Encoding/WinAnsiEncoding>>\nendobj\n";      
      ConvertToByteAndAddtoStream(strPDFMessage);      
           
      xRefs.Add(mPDF.Length);      
      strPDFMessage="6   0   obj\n<</Type/Catalog/Pages   4   0   R>>\nendobj\n";      
      ConvertToByteAndAddtoStream(strPDFMessage);      
           
      streamStart=mPDF.Length;      
      strPDFMessage="xref\n0   7\n0000000000   65535   f   \n";      
      for(int   i=0;i<xRefs.Count;i++)      
      {      
      strPDFMessage+=xRefFormatting((long)   xRefs[i])+"   00000   n   \n";      
      }      
      ConvertToByteAndAddtoStream(strPDFMessage);      
      strPDFMessage="trailer\n<<\n/Size   "+   (xRefs.Count+1)+"\n/Root   6   0   R\n>>\n";      
      ConvertToByteAndAddtoStream(strPDFMessage);      
           
      strPDFMessage="startxref\n"   +   streamStart+"\n%%EOF\n";      
      ConvertToByteAndAddtoStream(strPDFMessage);      
      mPDF.WriteTo(pPDF.BaseStream);      
           
      mPDF.Close();      
      pPDF.Close();      
      }      
      }      
      }Top

19 楼Philip3(3)回复于 2006-03-17 15:57:25 得分 0

http://www.aspxboy.com/private/507/default.aspxTop

相关问题

  • 登录窗体问题
  • 登录窗体问题??
  • 登录窗体的问题
  • 登录后弹出主窗体,怎么关闭Login窗体?
  • 【菜鸟提问】关于运行时主窗体隐藏,显示登录窗体,登录成功后关闭登录窗体,显示主窗体。
  • 如何在winform中关闭登录窗体后打开主窗体?
  • 程序运行时,主窗体不可见,而是显示登录窗体,登录成功后再显示主窗体,如何做?
  • 求救!登录窗体怎么做???急用!!!
  • 我写的登录窗体为什么这样呢?
  • 登录窗体连接SQL SERVER数据库

关键词

  • 线程
  • 函数
  • 界面
  • 文档
  • 窗体
  • strpdfmessage
  • converttobyteandaddtostream
  • mpdf
  • formstart
  • nendobj

得分解答快速导航

  • 帖主:Philip3
  • MyLf
  • yz1199

相关链接

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

广告也精彩

反馈

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