当前位置:编程学习 > C#/ASP.NET >>

这个需要用到异步吗?

程序运行时要连接网络,这时弹出一个对话框提示用户正在连接,后面继续连接网络,连接完成时自动关闭对话框

ss ss1=new ss();
ss1.ShowDialog();

//这里是连接服务器代码

c.Close();


问题出来了,如果是这样顺下来执行,对话框能显示出来,可里面的控件一个也显示不了

有什么办法可以解决这个问题吗?
麻烦给个例子,我是菜鸟 --------------------编程问答-------------------- ShowDialog会组织当前进程的,所以后台可以使用线程处理 --------------------编程问答-------------------- 正解,可以使用异步线程处理
引用 1 楼 bdmh 的回复:
ShowDialog会组织当前进程的,所以后台可以使用线程处理
--------------------编程问答-------------------- 怎样使用异步线程呢?不懂

              ss ss1=new ss();
            ss1.Show();

            string sj;
            string[] s;
            int bytesr = 0;
            byte[] bytes = new byte[1024];

            System.Net.Sockets.TcpClient client = new System.Net.Sockets.TcpClient();
            client.Connect("192.43.244.18", 13);
            System.Net.Sockets.NetworkStream ns = client.GetStream();
            bytesr = ns.Read(bytes, 0, bytes.Length);

            System.DateTime dt = new DateTime();

            sj = System.Text.Encoding.ASCII.GetString(bytes, 0, bytesr);

            s = sj.Split(' ');

            dt = System.DateTime.Parse(s[1]);

            ss1.Close();



这样ShowDialog后就一直卡在窗口那,要关闭窗口才会运行后面的代码 --------------------编程问答--------------------  需要,主线程负责界面,工作线程负责后台。 --------------------编程问答--------------------
引用 4 楼 chenwei9120 的回复:
需要,主线程负责界面,工作线程负责后台。

咋弄呢,能不能给个例子?
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,