C# A窗口里显示B窗口 c#窗口子窗口 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在formclosing事件判断检查输入,如果有问题就e.cancel=true; *****************************************************************************签名档: http://feiyun0112.cnblogs.com/ 请参考下面代码,这个代码实现的功能是如果账号密码输入不正确并且不取消登录的话则会一直提示输入用户名密码,只有输入正确之后才会进行下面的操作这个相当于A窗体的按钮方法var frm = new FrmLogin(); var result = DialogResult.Cancel; do { frm.Focus(); result = frm.ShowDialog(); if (result == DialogResult.Cancel) { Application.Exit(); return; } } while (result != DialogResult.Yes); Application.Run(new FrmMain());下面是登录窗体相当于Btry { Common.HttpHelper.HomePage(Common.CurrentUser.Cookie); var result = Common.HttpHelper.Login(Common.CurrentUser.Cookie, this.txtUserName.Text.Trim(), this.txtPassword.Text.Trim()); if (result.IndexOf(Properties.Resources.LoginSuccess) > 0) {//如果登陆成功 this.DialogResult = DialogResult.Yes; } else if (result.IndexOf(Properties.Resources.LoginFail) > 0) {//如果登陆失败 King.DevWinForm.KingMessageBox.ShowMessage("账号或密码错误!"); this.DialogResult = DialogResult.No; } else { King.DevWinForm.KingMessageBox.ShowWarning("返回的数据格式不正确,请重新跟踪系统看返回数据格式是否发生了变化"); } } catch (Exception ex) { King.DevWinForm.KingMessageBox.ShowError(ex.Message); } 不是很明白楼主的意思。你的验证是在B窗口执行的吗?如果是在B窗口执行,点击“OK”按钮关不关闭窗口不是自己说了算吗?在模式化窗口中,只要给this.DialogResult赋值,不论赋的是什么值,都会触发关闭窗口命令。不想关闭窗口,不赋值不就是了吗?在B窗口中private void btnOK_Click(object sender, EventArgs e) { if (验证通过) { this.DialogResult = System.Windows.Forms.DialogResult.OK; //this.Close(); //这个指令不写也会触发 } }不给this.DialogResult 赋值,不会关闭B窗口的 在B窗口的formclosing事件判断检查输入是不是正确就可以了。正确就关闭,不正确就取消关闭啊。 点击 ok是不会close弹出窗的吧 注意子窗口的AcceptButton和CancelButton属性,如果有则去掉,我吃过大亏啊。 刷新页面后,加载的ocx不起作用了 c# excel 表头设置 如何让两个程序不能同时运行? 如何判断多个文本框同时相等 C#里面除了MediaPlayer控件以外还有没有播放音乐的解决方案了? 如何设置CheckedListBox中的项目的边界 谁有实现adsl宽带自动拨号断开的C#源码? c# winform调用webservice出错 .net2005 怎么去除控件获取焦点时画的方型虚线? 最好的方法是什么呢? treeview 问题? 如何将winform 中datetimepicker控件中的年份、月、周翻译成英文显示? 用反射怎么把字符串变成代码?
*****************************************************************************
签名档: http://feiyun0112.cnblogs.com/
var result = DialogResult.Cancel; do
{
frm.Focus();
result = frm.ShowDialog(); if (result == DialogResult.Cancel)
{
Application.Exit();
return;
}
}
while (result != DialogResult.Yes);
Application.Run(new FrmMain());
下面是登录窗体相当于Btry
{
Common.HttpHelper.HomePage(Common.CurrentUser.Cookie);
var result = Common.HttpHelper.Login(Common.CurrentUser.Cookie, this.txtUserName.Text.Trim(), this.txtPassword.Text.Trim());
if (result.IndexOf(Properties.Resources.LoginSuccess) > 0)
{//如果登陆成功
this.DialogResult = DialogResult.Yes;
}
else if (result.IndexOf(Properties.Resources.LoginFail) > 0)
{//如果登陆失败
King.DevWinForm.KingMessageBox.ShowMessage("账号或密码错误!");
this.DialogResult = DialogResult.No;
}
else
{
King.DevWinForm.KingMessageBox.ShowWarning("返回的数据格式不正确,请重新跟踪系统看返回数据格式是否发生了变化");
}
}
catch (Exception ex)
{
King.DevWinForm.KingMessageBox.ShowError(ex.Message);
}
在模式化窗口中,只要给this.DialogResult赋值,不论赋的是什么值,都会触发关闭窗口命令。不想关闭窗口,不赋值不就是了吗?在B窗口中private void btnOK_Click(object sender, EventArgs e)
{
if (验证通过)
{
this.DialogResult = System.Windows.Forms.DialogResult.OK;
//this.Close(); //这个指令不写也会触发
}
}不给this.DialogResult 赋值,不会关闭B窗口的