防止winform假死新技术,visual studio 2005自带的控件

翻译|其它|编辑:郝浩|2007-08-23 09:20:45.000|阅读 1759 次

概述:

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

这里讲的是  backgroundWorker  看上去在  winform  中的应用还是不错的,代码如下:

 

 CEnum.Message_Body[] mContent = new CEnum.Message_Body[2];
            mContent[0].eName = CEnum.TagName.ServerInfo_GameDBID;
            mContent[0].eTag = CEnum.TagFormat.TLV_INTEGER;
            mContent[0].oContent = 1;

            mContent[1].eName = CEnum.TagName.ServerInfo_GameID;
            mContent[1].eTag = CEnum.TagFormat.TLV_INTEGER;
            mContent[1].oContent = m_ClientEvent.GetInfo("GameID_FJ");

            
this.backgroundWorkerFormLoad.RunWorkerAsync(mContent);

 还有在在这里加上它的两个事件

 

  private void backgroundWorkerFormLoad_DoWork(object sender, DoWorkEventArgs e)
        
...{
            
lock (typeof(C_Event.CSocketEvent))
            
...{
                mServerInfo = Operation_FJ.GetServerList(
this.m_ClientEvent, (CEnum.Message_Body[])e.Argument);
            }
        }

        
private void backgroundWorkerFormLoad_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        
...{
            CmbServer = Operation_FJ.BuildCombox(mServerInfo, CmbServer);

            PnlPage.Visible = 
false;

            tmp_ClientEvent = m_ClientEvent.GetSocket(m_ClientEvent, Operation_FJ.GetItemAddr(mServerInfo, CmbServer.Text));
        }

其中  DoWork  做的是发送命令字,这是通过  socket  实现的,用的  TCP  协议,在这里会自定义一些消息和命令字

下面方法会接受服务器端传来的消息.这样就行了,实现了这个技术.


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com

文章转载自:csdn

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP