当我尝试启动一个消息框(通常是为了通知异常,但我也尝试过从表单中启动一个消息框),程序似乎会停顿,我无法点击除关闭之外的任何东西,但必须从Visual Studio窗口中关闭它。
我已经缩小了问题范围,发现与pictureBox1_paint事件处理程序有关,当我删除这段代码时,消息框就可以再次出现。下面是相关代码:
调用堆栈显示它正在某些外部代码上,当展开时,对我来说似乎它正在将消息框“绘制”到屏幕上,但似乎被某些东西所阻塞?如果程序暂停,它显示下一行要执行的是从它正在做的任何事情返回的示例如下:
我已经缩小了问题范围,发现与pictureBox1_paint事件处理程序有关,当我删除这段代码时,消息框就可以再次出现。下面是相关代码:
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
using (Pen pen = new Pen(Color.Black, 1))
{
e.Graphics.DrawRectangle(pen, mRect);
}
pictureBox1.Invalidate();
}
调用堆栈显示它正在某些外部代码上,当展开时,对我来说似乎它正在将消息框“绘制”到屏幕上,但似乎被某些东西所阻塞?如果程序暂停,它显示下一行要执行的是从它正在做的任何事情返回的示例如下:
private void button2_Click(object sender, EventArgs e)
{
if (GlobalPlot != null)
{
resize = ExpandToBound(GlobalPlot.Size, pictureBox1.Size);
}
else return;
try
{
PlotPixel(resize);
}
catch (System.ArgumentOutOfRangeException index)
{
//this is the next line to execute:
MessageBox.Show(index.Message,"Exception",MessageBoxButtons.OK);
return;
}
}
不太确定发生了什么事情,但非常感谢您的帮助,谢谢。