C# 如何等待事件返回值后再继续向下执行--急

hackren461 2010-08-23 03:12:17
写了一个类库,类库里边个登陆方法,登陆时分为需要注册码和不需要注册码,在需要注册码时要调用获取注册码的方法、显示注册吗、等待输入注册码、返回注册码

因为是类库,所有不能直接显示注册码,所以这里用了事件

/// <summary>
/// 登陆时需要验证码时的委托
/// </summary>
/// <returns>验证码字符串</returns>
public delegate string NeedLoginVerifyCode(ReprintedBlog repBlog);
/// <summary>
/// 登陆时需要验证码时的事件
/// </summary>
public event NeedLoginVerifyCode OnNeedLoginVerifyCode;

关键性的方法
public void star()
{
if (operaction.IsNeedVerifyCode())
{
//需要验证码
if (OnNeedLoginVerifyCode != null)
{
user.VerifyCode = OnNeedLoginVerifyCode(this);
login();
}
}
else
{
login();
}
}

在登陆需要验证码的时候触发需要验证码的事件,事件的返回值为验证码.前台处理这个事件时,在前台显示验证码、提示用户输入、监测用户输入、输入符合规范,返回验证码


现在的问题是
user.VerifyCode = OnNeedLoginVerifyCode(this);
login();
在OnNeedLoginVerifyCode事件触发之后,不等待处理事件的方法执行完便直接执行login();了
请问如何才能让处理事件的方法执行完毕之后再执行触发事件下边的代码?
...全文
2142 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hackren461 2010-08-24
  • 打赏
  • 举报
回复
问题已经解决了,我就是优点太钻牛角尖了!正如楼上所说,我把触发事件以下的代码都整理成方便调用的方法,在事件触发后相应的方法里再了调用了!
兔子-顾问 2010-08-23
  • 打赏
  • 举报
回复
那你不要在这里写login方法的调用。放在验证码输入后的事件中调用。或是页面提交时再判断登录是否成功。
renliang461 2010-08-23
  • 打赏
  • 举报
回复
帮顶,csdn这么多人竟然让这个帖子空的。多么有难度的问题啊!我也想知道!!

110,536

社区成员

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

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

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