picturebox已经设置了errorimage,但仍然是大红叉?

wangtong2010 2014-10-09 09:39:49
当出现异常时,picturebox会显示一个默认的errorimage图片,也就是大红叉,我觉得不好看,就改成了另一幅图片,修改picturebox的errorimage属性,然后运行程序,我故意让程序出现异常,picturebox显示的仍然是大红叉,这是为什么呢?
相当程序代码如下:

public partial class Form1 : Form
{
private int[] Numbers;

public Form1()
{
InitializeComponent();
Numbers = new int[8] { 0, 1, 2, 3, 4, 5, 6, 7 };
}

private void Form1_Load(object sender, EventArgs e)
{
Application.ThreadException += this.Form1_ThreadException;
}

private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
SolidBrush sb = new SolidBrush(Color.Black);
Font f = new Font("宋体", 20F, FontStyle.Bold);
g.DrawString(Numbers[trackBar1.Value].ToString(), f, sb, 5, 5);
}

private void trackBar1_ValueChanged(object sender, EventArgs e)
{
pictureBox1.Invalidate(true);
}

private void Form1_ThreadException(object sender, ThreadExceptionEventArgs e)
{
MessageBox.Show(e.Exception.Source + "\n" + e.Exception.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}

未出异常时,和已出异常时。
...全文
561 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangtong2010 2014-10-10
  • 打赏
  • 举报
回复
看来只有在paint事件中添加try...catch异常处理块加以解决。
wangtong2010 2014-10-09
  • 打赏
  • 举报
回复
我设置的errorimage是下面这张图片
於黾 2014-10-09
  • 打赏
  • 举报
回复
目测你这个大红叉本身就是后加入的图片,而不是默认的图片啊 默认的应该是小红叉
於黾 2014-10-09
  • 打赏
  • 举报
回复
errorimage是给定的图片路径不存在,无法访问的时候,显示的图片 而你是用的Graphics直接在pic上绘图,Graphics本身出错,本身就是红叉,那么pic当然也显示红叉
wangtong2010 2014-10-09
  • 打赏
  • 举报
回复



失落的神庙 2014-10-09
  • 打赏
  • 举报
回复
引用 1 楼 wangtong2010 的回复:
这种红插是 .net环境问题。重新卸载安装下。不行的话就没办法咯。你可以去win7上试试。 是应该没这样的红插的
於黾 2014-10-09
  • 打赏
  • 举报
回复
引用 7 楼 bdmh 的回复:
Numbers[trackBar1.Value] 这个不存在,你要判断一下才行
他不是想不出问题,他是想出问题的时候,图片显示自己设置的errorimage,而不是大红叉
bdmh 2014-10-09
  • 打赏
  • 举报
回复
Numbers[trackBar1.Value] 这个不存在,你要判断一下才行
於黾 2014-10-09
  • 打赏
  • 举报
回复
也不一定. 等等别人看有没有什么办法吧
wangtong2010 2014-10-09
  • 打赏
  • 举报
回复
引用 2 楼 Z65443344 的回复:
errorimage是给定的图片路径不存在,无法访问的时候,显示的图片 而你是用的Graphics直接在pic上绘图,Graphics本身出错,本身就是红叉,那么pic当然也显示红叉
那就是说没有办法了,对吗?
wangtong2010 2014-10-09
  • 打赏
  • 举报
回复
引用 3 楼 Z65443344 的回复:
目测你这个大红叉本身就是后加入的图片,而不是默认的图片啊 默认的应该是小红叉
我后加入的图片不是大红叉,是别的图片。

110,561

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧