zoukankan      html  css  js  c++  java
  • 奇怪的异步调用,那位高手能帮忙看一下?

    delegate void SetStr(string s);
     private void SetText(string name)
            {
               txtResult.Text = name;
            }
      private void btnFind_Click(object sender, EventArgs e)
            {
                Thread th = new Thread(new ThreadStart(FindFile));
                th.Start();
             }

     private void FindFile()
            {
                string[] m = Directory.GetDirectories(@"c:\\", txtFile.Text.Trim(), SearchOption.AllDirectories);
      string s = "test";
                Invoke(new SetStr(SetText), s);
              } 
    以上可以运行在vs 2005 下;
    但是下面的报错:
    delegate void SetStr(string[] s);
     private void SetText(string[] name)
            {
               for (int i = 0; i < name.Length; i++)
                {
                    txtResult.Text = txtResult.Text + name[i] + "\n";
                }
            }
      private void btnFind_Click(object sender, EventArgs e)
            {
                Thread th = new Thread(new ThreadStart(FindFile));
                th.Start();
             }

     private void FindFile()
            {
                string[] m = Directory.GetDirectories(@"c:\\", txtFile.Text.Trim(), SearchOption.AllDirectories);
      string s = "test";
                Invoke(new SetStr(SetText), m); // 此处报错:"参数计数不匹配。" 请问怎样解决?
              } 

  • 相关阅读:
    Lua手册中的string.len 不解
    计算机词汇(Computer Glossary)
    Qt 信号和槽机制的优缺点
    多线程,什么时候该使用?
    Linux进行挂起和杀死挂起进程
    struct和class的区别
    Number of 1 Bits
    Pascal's Triangle
    Excel Sheet Column Title
    c++单向链表
  • 原文地址:https://www.cnblogs.com/tianya/p/945893.html
Copyright © 2011-2022 走看看