winfrom窗口关闭问题

亡卒 2014-07-30 05:30:51

有个主窗口,副窗口打开以后就关不了了。
其他的窗口没什么问题。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using jxsm.pnjx.model;

namespace jxsm.pnjx
{
public partial class FrmLogin : Form
{
private Boolean bCloseFlag = false;
public FrmLogin()
{
InitializeComponent();
}

private void FrmLogin_FormClosing(object sender, FormClosingEventArgs e)
{
e.Cancel = !bCloseFlag;
}

private void btnLogin_Click(object sender, EventArgs e)
{
bCloseFlag = LoginInfo.getInstance().checkLogin(this.txtUser.Text, this.txtPass.Text);
if (bCloseFlag)
{
this.Close();
}
else
MessageBox.Show("输入的用户名或口令错误!", AppInfo.SYSTEM_INFO, MessageBoxButtons.OK, MessageBoxIcon.Error);
}

private void txtUser_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
this.txtPass.Focus();
}

private void txtPass_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
this.btnLogin_Click(sender, e);
}
}
}
上边是子窗口的代码,应该没问题的。 按照这个写的其他窗口没问题
...全文
208 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
鏡椛氹鈅 2014-07-31
  • 打赏
  • 举报
回复
引用 4 楼 u013957635 的回复:
[quote=引用 3 楼 u012804018 的回复:] [quote=引用 2 楼 u012804018 的回复:] [quote=引用 1 楼 u013957635 的回复:] 请问,加什么语句就可以正常开关了。 初学,万分感谢
e.Cancel = !bCloseFlag;把这个去掉,你这个是干什么的[/quote] FrmLogin_FormClosing 加this.close()[/quote] 按你说的改了下,显示错误 未处理的“System.StackOverflowException”类型的异常出现在 System.Windows.Forms.dll 中。[/quote] e.Cancel = !bCloseFlag;这句去掉没???
lzx_dy 2014-07-31
  • 打赏
  • 举报
回复
在program.cs里写。 FrmLoginLjjr frm = new FrmLoginLjjr();// 登录窗体 if (frm.ShowDialog() == DialogResult.OK) { Application.Run(new FrmMain()); // 主窗体 }
亡卒 2014-07-31
  • 打赏
  • 举报
回复
引用 9 楼 u012804018 的回复:
[quote=引用 4 楼 u013957635 的回复:] [quote=引用 3 楼 u012804018 的回复:] [quote=引用 2 楼 u012804018 的回复:] [quote=引用 1 楼 u013957635 的回复:] 请问,加什么语句就可以正常开关了。 初学,万分感谢
e.Cancel = !bCloseFlag;把这个去掉,你这个是干什么的[/quote] FrmLogin_FormClosing 加this.close()[/quote] 按你说的改了下,显示错误 未处理的“System.StackOverflowException”类型的异常出现在 System.Windows.Forms.dll 中。[/quote] e.Cancel = !bCloseFlag;这句去掉没???[/quote]去掉了
卧_槽 2014-07-30
  • 打赏
  • 举报
回复
//e.Cancel = !bCloseFlag;
exception92 2014-07-30
  • 打赏
  • 举报
回复
引用 6 楼 u013957635 的回复:
[quote=引用 5 楼 duanzi_peng 的回复:] e.Cancel = !bCloseFlag; 密码或者用户名错误,你永远都关闭不了。
好吧,那我应该怎么改呢。[/quote] 去掉FormClosing事件。
亡卒 2014-07-30
  • 打赏
  • 举报
回复
引用 5 楼 duanzi_peng 的回复:
e.Cancel = !bCloseFlag; 密码或者用户名错误,你永远都关闭不了。
好吧,那我应该怎么改呢。
exception92 2014-07-30
  • 打赏
  • 举报
回复
e.Cancel = !bCloseFlag; 密码或者用户名错误,你永远都关闭不了。
亡卒 2014-07-30
  • 打赏
  • 举报
回复
引用 3 楼 u012804018 的回复:
[quote=引用 2 楼 u012804018 的回复:] [quote=引用 1 楼 u013957635 的回复:] 请问,加什么语句就可以正常开关了。 初学,万分感谢
e.Cancel = !bCloseFlag;把这个去掉,你这个是干什么的[/quote] FrmLogin_FormClosing 加this.close()[/quote] 按你说的改了下,显示错误 未处理的“System.StackOverflowException”类型的异常出现在 System.Windows.Forms.dll 中。
鏡椛氹鈅 2014-07-30
  • 打赏
  • 举报
回复
引用 2 楼 u012804018 的回复:
[quote=引用 1 楼 u013957635 的回复:] 请问,加什么语句就可以正常开关了。 初学,万分感谢
e.Cancel = !bCloseFlag;把这个去掉,你这个是干什么的[/quote] FrmLogin_FormClosing 加this.close()
鏡椛氹鈅 2014-07-30
  • 打赏
  • 举报
回复
引用 1 楼 u013957635 的回复:
请问,加什么语句就可以正常开关了。 初学,万分感谢
e.Cancel = !bCloseFlag;把这个去掉,你这个是干什么的
亡卒 2014-07-30
  • 打赏
  • 举报
回复
请问,加什么语句就可以正常开关了。 初学,万分感谢

110,539

社区成员

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

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

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