求助:VS2010编译器正常设置,但是却不抛出异常
如图,这是默认的异常设置
程序运行的时候,明明出现了异常,但是编译器却没有任何提示,只在不用编译器单独执行程序的时候操作系统会报错,这是怎么回事?而且我把编译器覆盖重装了一遍也还是这样,这到底是怎么回事啊?
[解决办法]
当你MouseUp的时候 g.Dispose();释放了 所以执行下面语句会出错
for (int i = 1; i < arr.Count; i++)
g.DrawLine(Pens.Red, (Point)arr[i - 1], ((Point)arr[i]));
[解决办法]
你代码可以这样简化
public partial class Form1 : Form
{
IList<Point> arr;
public Form1()
{
InitializeComponent();
DoubleBuffered = true;
arr = new List<Point>();
}
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
arr.Add(new Point(e.X, e.Y));
this.Invalidate();
}
}
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
if (arr.Count == 1)
{
e.Graphics.FillRectangle(Brushes.Red, arr[0].X, arr[0].Y, 1, 1);
}
else
{
for (int i = 1; i < arr.Count; i++)
e.Graphics.DrawLine(Pens.Red, arr[i - 1], arr[i]);
}
}
}