none
进程的输出如何输出到控件的属性? RRS feed

  • 问题

  • 我写了一下代码,目的是将returnStr的值能够打印到调用它的form的textbox1.text中。需要实时的打印。这怎么做?似乎进程是个难点吧?   
    public class processProgram001
        {
            public int sleepTime;
            public Random random = new Random();
            public string returnStr;

            public processProgram001(ref string returnStr)
            {
                sleepTime = random.Next(3000);    //3000毫秒
            }

            public void print()
            {
                Thread current = Thread.CurrentThread;
                string returnStr= current.Name + " going to sleep for " + sleepTime + " milliseconds\r\n";
                Thread.Sleep(sleepTime);
                returnStr += current.Name + " done sleeping";
            }
        }

    2009年5月24日 7:08

答案

  • 你好!
         你是想在Form上或TextBox上显示returnStr吧!
         有两种方法:
         1,你可以在processProgram001里子定义一个事件,通过自定义的的事件参数来传递returnStr,在Form中订阅这个事件就可以了,在事件处理程序中通过事件参数获取returnStr的值!
         2,你也可以在processProgram001里自定义一个带参数的构造函数,参数类型是Form,然后当实例化processProgram001的时候把窗体的实例通过参数传递过来,然后保存在processProgram001类型的一个字段里,通过这个字段直接把TextBox.Text属性设置为returnStr
         希望这个解释对你有帮助!
    周雪峰
    • 已标记为答案 OpenNovo 2009年5月24日 14:00
    2009年5月24日 8:22
    版主