二、前提:状态栏面板sbpFilePath已经设定为自绘样式.当有如下代码段1被执行一次以后:
代码段1:
private void treeviewArchives_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e)
{
if (e.Node.Text!= "" ) 
{
try
{this.richtexebox.LoadFile(Application.StartupPath+e.Node.Text);
statusMessages=e.Node.Text;
sbpFilePath.Text=statusMessages;//statusMessages表示字符串
}
catch
{MessageBox.Show("加载文件出错,无法显示!");
}
}
}代码段2:
private void statusBar1_DrawItem(object sender, System.Windows.Forms.StatusBarDrawItemEventArgs sbdevent)
{// 绘制面板区域
 sbdevent.Graphics.FillRectangle(Brushes.Green, sbdevent.Bounds);
 //绘制面板上的文本
 sbdevent.Graphics.DrawString(statusMessages,sbdevent.Font,Brushes.White,sbdevent.Bounds);
 sbdevent.Graphics.Dispose();
}
考试题目:
1)、代码段2会不会被执行?
答案
2)、代码段2如果不会被执行,为什么?该如何修改?
答案: 
3)、代码段2如果会得到执行,会不会被重复执行(即连续执行两次或更多次)?
答案:
4)、代码段2如果被重复执行,该如何修改使之只运行一次就足够?
答案:5)、代码段2中 sbdevent.Graphics.Dispose();//这个语句是否可有可无,为什么?
答案:6)、假设运行以下语句
{sbpFilePath.Text=statusMessages;sbpFilePath.Text=statusMessages;}
问题同上述1-3项,请再次回答。
答案:7)、您认为代码段1或者代码段2有没有错误?(如果您认为回答对了上面的问题,此问题可不必做答)
答案: