我在这里有主表单类:
public partial class Main : Form
{
public void button_Click(object sender, EventArgs e)
{
//here I want to call function runtime() from SchedulingTimer class
// in oder to run afunc() every second or any Interval
}
public void afunc()
{
Message.Show(textbox1.Text);
}
}
我有一个计时器类:
public class SchedulingTimer
{
public static void runtime()
{
Timer myTimer = new Timer();
myTimer.Elapsed += new ElapsedEventHandler(DisplayTimeEvent);
myTimer.Interval =10000 ; // 1000 ms is one second
myTimer.Start();
}
public static void DisplayTimeEvent(object source, ElapsedEventArgs e)
{
//call function from main which have agrument textbox.Text
afunc();//or any function which variable sended from Main form
}
}
但是当我调用方法时afunc
,DisplayTimeEvent
它有一些错误,因为这是一个static
方法,所以无法访问textbox1.Text
。我认为我的代码有一些错误。
更新:
- 我设置
myTimer.Enable= true
,然后,我点击Button
但没有任何反应。好像afunc()
不行 在 DisplayTimeEvent 中创建 Main 方法的实例。
Main objMain=new Main();
objMain.afunc();
afunc中有一些细节:string keyw = cbkeyw.Text.ToString(); string link = cblink.Text.ToString(); if (radiobutton.Checked) { Yahoo yahoo = new Yahoo(); yahoo.RunProxyYahoo(proxylist, keyw, link, numPage, CountID); } else MessageBox.Show("Please choose Search Engine!");
我在我的 afunc 中调用 Yahoo Class,这真的很困惑。当我点击
Button
时,它只显示:("Please choose Search Engine!");
event 虽然我已经签radiobutton
入