110,539
社区成员
发帖
与我相关
我的任务
分享
private MyMethod my;
static Form2 f2 = null;
static Timer timer = null;
static bool result = false;
public Form1()
{
timer = new Timer();
timer.Interval = 10;
timer.Tick += new EventHandler(timer_tick);
timer.Start();
InitializeComponent();
my = new MyMethod(method);
}
private int method()
{
System.Threading.Thread.Sleep(5000);
return 100;
}
private void MethodComplete(IAsyncResult iar)
{
if (iar == null) return;
if (tb5.InvokeRequired)
{
write writeIntoTB = new write(RefreshTB);
tb5.BeginInvoke(writeIntoTB, (iar.AsyncState as MyMethod).EndInvoke(iar).ToString());
}
else
{
RefreshTB((iar.AsyncState as MyMethod).EndInvoke(iar).ToString());
}
result = true;
}
private void RefreshTB(string s)
{
tb5.Clear();
tb5.Text = s;
}
private void bt5_Click(object sender, EventArgs e)
{
result = false;
IAsyncResult iar = my.BeginInvoke(MethodComplete, my);
f2 = new Form2();
f2.ShowDialog();
}
private void timer_tick(object sender, EventArgs e)
{
if (result)
{
if (f2 != null)
{
f2.Close();
}
}
}