Socket OnRecvive事件函数中对窗体上TextBox设置输入焦点不成功

dwday   2008-3-20 19:58 楼主
大虾们,帮帮忙
有一个自己封装的TCPSocket类,其中定义了一个接收数据的事件.
现在在一个窗体中处理这个事件,在这个事件函数中,对窗体上的一个TextBox设置输入焦点:TextBox.Focus();但是运行过这段代码后,并没有将输入焦点设到这个TextBox上.
请问是怎么回事?如何让这输入焦点设置成功?

回复评论 (7)

没人知道?
我顶
点赞  2008-3-21 16:40
贴出部分代码!!

你这么问,我都不知道怎么帮你
点赞  2008-3-21 17:27
我还不清楚你用什么来写的.汗
点赞  2008-3-21 17:58
封装的通信类:
public class TcpCli
{
  public event NetEvent OnReceive;//定义的接收事件
  protected virtual void ReceiveEnd(IAsyncResult iar)
  {
    //......其他处理...
    OnReceive(this, new NetEventArgs(clientSession));//引发事件
  }
}
窗体类:
public class FKSxpd : System.Windows.Forms.Form
{
  //初始化
  private NetEvent NRev;
  private void FKSxpd_Load(object sender, System.EventArgs e)
  {
    NRev = new Ham.Net.NetEvent(cli_OnReceive);
    CGather.cli.OnReceive += NRev;//CGather为一个全局类,cli定义为:public static TcpCli cli= new TcpCli();
  }
  //事件响应函数
  private void cli_OnReceive(object sender, Ham.Net.NetEventArgs e)
  {
    lab_sts2.Text = "请输入序号:";//运行时这句是执行成功了的
    txt_Scan.Focus();//就这句没执行成功,没反应..
  }
}
点赞  2008-3-24 09:26
运行环境:WinCE 4.1
程序编写工具:VS2003
程序编写语言:C#
点赞  2008-3-24 09:28
再顶!
点赞  2008-3-27 13:18
哎,看来这论坛也不怎么行啊!
搞了半天,问题终于还是自己解决了
点赞  2008-3-28 12:06
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复