ほとんどのフォームでメソッドを使用しており、このメソッドをクラスで作成して呼び出したいと考えています。
これが方法です:
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();
};
}
}
}
}
問題は、クラスでこのメソッドを作成すると、次のエラーが発生することです。
エラー 1:
「InvokeRequired」という名前は現在のコンテキストに存在しません
エラー 2:
「GestionBib.MyClass」には「Invoke」の定義が含まれておらず、タイプ「GestionBib.MyClass」の最初の引数を受け入れる拡張メソッド「Invoke」が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか?)