顶部的 C# 消息框,直到操作完成
C# Message box on top until action done
如何打开 MessageBox ,在任务完成之前保持打开状态,然后关闭它。
我打算在里面插入一个加载动画。
我需要以某种方式让你无法通过单击它来关闭它,只是通过代码。
var t = Task.Run(() =>
{
MessageBox.Show("Loading!");
CycleValue = 0;
while (CycleValue < noOfCycles && buttonStartStop.Text == "Stop")
{
this.Invoke((MethodInvoker)delegate
{
gm.NextState();
CycleValue++;
if (CycleValue == noOfCycles)
{
buttonStartStop.Text = "Start";
buttonRandomise.Enabled = true;
buttonReset.Enabled = true;
}
});
}
});
如果你想在 UI 上执行操作时显示忙碌光标,你可以使用 -
Cursor.Current = Cursors.WaitCursor;
如果要显示动画请参考this
您需要创建自己的 form/window 来模仿消息框的外观,但您可以对其进行更多控制(例如,在任务完成后实施关闭事件)。一个标签和几个按钮应该不会花太长时间,在以后的项目中会有用!
如何打开 MessageBox ,在任务完成之前保持打开状态,然后关闭它。
我打算在里面插入一个加载动画。
我需要以某种方式让你无法通过单击它来关闭它,只是通过代码。
var t = Task.Run(() =>
{
MessageBox.Show("Loading!");
CycleValue = 0;
while (CycleValue < noOfCycles && buttonStartStop.Text == "Stop")
{
this.Invoke((MethodInvoker)delegate
{
gm.NextState();
CycleValue++;
if (CycleValue == noOfCycles)
{
buttonStartStop.Text = "Start";
buttonRandomise.Enabled = true;
buttonReset.Enabled = true;
}
});
}
});
如果你想在 UI 上执行操作时显示忙碌光标,你可以使用 -
Cursor.Current = Cursors.WaitCursor;
如果要显示动画请参考this
您需要创建自己的 form/window 来模仿消息框的外观,但您可以对其进行更多控制(例如,在任务完成后实施关闭事件)。一个标签和几个按钮应该不会花太长时间,在以后的项目中会有用!