读书人

VS2010编译器正常设置但是却不抛出错

发布时间: 2013-12-13 13:57:17 作者: rapoo

求助:VS2010编译器正常设置,但是却不抛出异常
如图,这是默认的异常设置
VS2010编译器正常设置,但是却不抛出错误

程序运行的时候,明明出现了异常,但是编译器却没有任何提示,只在不用编译器单独执行程序的时候操作系统会报错,这是怎么回事?而且我把编译器覆盖重装了一遍也还是这样,这到底是怎么回事啊?
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]);
}
}
}

读书人网 >C#

热点推荐