我希望显示一个消息框,并且程序继续运行,而不是等待我在此消息框上单击“确定”。可以做到吗?
else
{
// Debug or messagebox the line that fails
MessageBox.Show("Cols:" + _columns.Length.ToString() + " Line: " + lines[i]);
}
最佳答案
首先,正确的解决方案是将消息框替换为普通窗口(或表单,如果您使用的是 winforms)。那会很简单。示例(WPF)
<Window x:Class="local:MyWindow" ...>
<Grid>
<TextBlock HorizontalAlignment="Center" VerticalAlignment="Center"
Text="{Binding}" />
<Button HorizontalAlignment="Right" VerticalAlignment="Bottom"
Click="SelfClose">Close</Button>
</Grid>
</Window>
...
class MyWindow : Window
{
public MyWindow(string message) { this.DataContext = message; }
void SelfClose(object sender, RoutedEventArgs e) { this.Close(); }
}
...
new MyWindow("Cols:" + _columns.Length.ToString() + " Line: " + lines[i]).Show();
如果您想要一个快速而又肮脏的解决方案,则可以从一个抛出线程中调用消息框:
Thread t = new Thread(() => MessageBox("lalalalala"));
t.SetApartmentState(ApartmentState.STA);
t.Start();
(不确定是否确实需要
ApartmentState.STA
)关于c# - 允许进程自动继续的 MessageBox,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10634663/