logo

关于 为ComboBox控件添加图片 的评论:

评论日期:2004年07月16日 00:00:00 评论人:九天
孟子E章,你好:
    有个问题向您请教。
    上面重写OnDrawItem时候。
    为什么要用try?
    直接用
    if (ea.Index == -1)
    {
ea.Graphics.DrawString(Text, ea.Font, new
SolidBrush(ea.ForeColor), bounds.Left, bounds.Top);
    }
    else
    {
item = (ComboBoxExItem)Items[ea.Index];

if (item.ImageIndex != -1)
{
     imageList.Draw(ea.Graphics, bounds.Left, bounds.Top,
item.ImageIndex);
     ea.Graphics.DrawString(item.Text, ea.Font, new
SolidBrush(ea.ForeColor), bounds.Left+imageSize.Width, bounds.Top);
}
else
{
ea.Graphics.DrawString(item.Text, ea.Font, new
SolidBrush(ea.ForeColor), bounds.Left, bounds.Top);
}
     }
     用try执行起来速度很慢的(至少我的机器是这样)。
     在什么情况下item = (ComboBoxExItem)Items[ea.Index];会出错,而且ea.Index != -1?

评论日期:2006年12月16日 00:00:00 评论人:yuyanglove
用try的原因我知道,是异常检测机制,保证程序在这个接口上出现问题而不会整体崩溃
发表评论:(由于众所周知的原因,评论需要审核后才能显示,请勿重复发评论。谢谢!!)
标题:
用户名:
内容:
验证码: 请输入右边图像中的文字。验证码