C# 线程怎么返回参数到窗体??

封装了一个class供线程调用,以实现包含参数的线程。现在需要返回class中一个方法的结果到主窗体里面,比如直接写到TextBox里。因为封装的class与主窗体类是独... 封装了一个class供线程调用,以实现包含参数的线程。现在需要返回class中一个方法的结果到主窗体里面,比如直接写到TextBox里。因为封装的class与主窗体类是独立的,这样能实现吗?请问该怎么做? 展开
 我来答
FoolRabbit编程
2015-01-20 · 知道合伙人数码行家
FoolRabbit编程
知道合伙人数码行家
采纳数:619 获赞数:3805
毕业于苏州大学,4年编程经验,对WPF有研究。

向TA提问 私信TA
展开全部
这个有多种方法
譬如:线程类中添加一个事件,线程结束时触发事件(把值传递出去),主窗体中未事件添加委托,从而在线程结束时通过线程中的事件获得值。
追问
我封装的累是这样的,里面返回的结果会一直增加,在主窗体里面想利用返回结果做一个类似于进度条之类的东西,或者直接表示下完成百分比也行
追答

通过事件把值传出来,主窗体中给这个事件添加处理方法,获得其中的值

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            classA ca = new classA();
            ca.MyEvent += ca_MyEvent;
        }

        void ca_MyEvent(int i)
        {
            //...
        }
    }

    public class classA
    {
        public delegate void MyFunHandeler(int i);
        public event MyFunHandeler MyEvent;

        public void CustomFun()
        {
            int progress=0;
            //...

            if(MyEvent!=null)
            {
                MyEvent(progress);
            }
        }
    }
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式