在运行长时间操作时,我试图通过 Toast 显示等待消息。我正在使用 BackgroundWorker。此代码位于 ListView_ItemClick 事件处理程序中:
var bgWait = new BackgroundWorker();
bgWait.DoWork += bgWait_DoWork;
bgWait.RunWorkerAsync();
bgWait.RunWorkerCompleted += bgWait_Completed;
bgWait_DoWork 事件处理程序中的代码如下:
private void bgWait_DoWork(object sender, DoWorkEventArgs e)
{
var toastWait = Toast.MakeText(this, "Please wait", ToastLength.Long);
toastWait.SetGravity(GravityFlags.Top & GravityFlags.Center, 0, 0);
toastWait.Show();
TimeConsumingOperation();
toastWait.Cancel();
}
当我在调试模式下运行时,似乎只到达了 bgWait_DoWork 的第一行 - "var toastWait = Toast.MakeText(this, "Please wait", ToastLength.Long);" - 然后它跳转到 bgWait_Completed 事件处理程序。
知道为什么会这样吗?
谢谢