0

我在我的大多数表单中都使用了一个方法,我想在一个类中创建这个方法,然后调用它。

这是方法:

    using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using System.Data.SqlClient;
using System.IO;

namespace GestionBib
{
    class MyClass
    {
    public void InfoLabel(string value)
        {
            if (InvokeRequired)
            {
                this.Invoke(new Action<string>(InfoLabel), new object[] { value });
                return;
            }
            barStaticItem3.Caption = value;

            if (!String.IsNullOrEmpty(value))
            {
                System.Timers.Timer timer = new System.Timers.Timer(6000) { Enabled = true };
                timer.Elapsed += (sender, args) =>
                {
                    this.InfoLabel(string.Empty);
                    timer.Dispose();
                };
            }

        }
}


}

问题是当我在一个类中创建这个方法时,它给了我这些错误:

错误一:

当前上下文中不存在名称“InvokeRequired”

错误2:

“GestionBib.MyClass”不包含“Invoke”的定义,并且找不到接受“GestionBib.MyClass”类型的第一个参数的扩展方法“Invoke”(您是否缺少 using 指令或程序集引用?)

4

1 回答 1

1

简单地说,你的类既没有声明Invoke方法,也没有声明InvokeRequired. 您需要以某种方式实现它们或派生派生表单的类表单类型ControlForm例如)。

于 2012-09-27T09:14:00.570 回答