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

急!窗体怎样关闭?

楼主bubble()2001-07-03 09:21:52 在 Delphi / VCL组件开发及应用 提问

我在程序中遇到这样一个问题,我打算在主程序界面中重新调用已被注销的登陆对话框,来实现不用退出程序即可完成操作员的更换。  
  我的程序如下,  
  procedure   TMainForm.N5Click(Sender:   TObject);  
  begin  
    Login:=TLoginForm.Create(Application);  
    Login.Show;  
  end;  
   
  {下面是登陆对话框中的事件}  
  procedure   TLoginForm.CancelBitBtnClick(Sender:   TObject);  
  begin  
    if   MessageDlg('真的想退出吗?',mtConfirmation,[MBYes,MBNo],0)=MrYes   then  
          Login.Close;  
  end;  
  当我在主界面中调出登陆对话框后,如关闭该对话框则报错这是怎么回事。另外我定义了全局变量Login却用不了。  
  请各位大虾指教! 问题点数:30、回复次数:9Top

1 楼ChinaBlueArmy(中国蓝军)回复于 2001-07-03 09:24:51 得分 30

你将  
  procedure   TLoginForm.CancelBitBtnClick(Sender:   TObject);  
  begin  
  if   MessageDlg('真的想退出吗?',mtConfirmation,[MBYes,MBNo],0)=MrYes   then  
          Login.Close;  
  end;  
  中的Login替换成Self试试;Top

2 楼ghz2000(编程马大哈)回复于 2001-07-03 09:27:12 得分 0

问题出在login.close  
  改为   login.hind;Top

3 楼disonlee()回复于 2001-07-03 09:28:16 得分 0

你应该习惯这样的写法:  
  procedure   TMainForm.N5Click(Sender:   TObject);  
  begin  
  Login:=TLoginForm.Create(Application);  
  if   Login.ShowModal   =   mrOk   then  
      ...  
  else  
      ...  
   
  Login.Free;  
  end;  
   
  至于过程   TLoginForm.CancelBitBtnClick   基本不用写什么东西,只要将CancelBitBtn的ModelResult属性改为mrCancel,而将OkBitBtn的ModelResult属性改为mrOk.  
  Top

4 楼kuangning(郎之间)回复于 2001-07-03 09:33:26 得分 0

procedure   TMainForm.N5Click(Sender:   TObject);  
  begin  
        Login:=TLoginForm.Create(Application);  
        try  
              Login.ShowModal   ;  
        finally  
              Login.Release   ;  
              Login   :=   nil   ;  
      end   ;  
  end;  
  将所有的BitBtn的ModelResult:=mrnone;Top

5 楼tastenet(速效揪心完)回复于 2001-07-03 11:08:31 得分 0

小意思,首先你先从D5   (菜单)   project   ->options   中选择   forms   卡片,将你在程序中要动态创建的窗体选到右边,再运行就可以了,另外还有几行很关键的代码可能在你是实际的工程中要写  
  需要的话再写,目前你的程序应该能运行了!     :->Top

6 楼bubble()回复于 2001-07-03 12:38:33 得分 0

ChinaBlueArmy(中国蓝军)你好:  
  我用了你的方法,登陆对话框可以关闭,但是主窗体上的菜单全部变灰,无法使用。Top

7 楼zhengji(看雨飞)回复于 2001-07-03 12:53:52 得分 0

  关键是     login   窗口应该   showmodal   而不应该   show   ,  
      如果   show     的话,   用户也肯定不习惯Top

8 楼yhec(@_@ 俺是贫农俺怕谁)回复于 2001-07-03 13:06:03 得分 0

!Top

9 楼machin(刷新一下)回复于 2001-07-03 13:06:03 得分 0

login.showmodal  
   
  作为一个字窗体来显示。  
  你试一下。。。Top

相关问题

  • 窗体怎样关闭?
  • 怎样关闭子窗体
  • 怎样关闭MDIChildren窗体??
  • 怎样实现在此窗体 显示另一窗体 后此窗体关闭
  • 怎样在一个窗体里关闭另一个窗体
  • 怎样截获窗体的关闭?
  • 怎样将(弹出)的窗体关闭
  • 怎样去掉窗体的"关闭"键?
  • 如何在窗体OnShow事件中关闭窗体?急!
  • 关闭子窗体的时候,子窗体是最小化,怎样关闭?

关键词

  • application
  • tloginform
  • 窗体
  • login
  • cancelbitbtnclick
  • modelresult
  • showmodal
  • tmainform
  • 登陆对话框
  • 关闭

得分解答快速导航

  • 帖主:bubble
  • ChinaBlueArmy

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

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