这道题该怎么答???

qqsyb 2005-07-14 05:24:56
二、前提:状态栏面板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有没有错误?(如果您认为回答对了上面的问题,此问题可不必做答)
答案:
...全文
119 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qqsyb 2005-07-24
  • 打赏
  • 举报
回复
..
free000 2005-07-14
  • 打赏
  • 举报
回复
我也是这样认为的
zeusvenus 2005-07-14
  • 打赏
  • 举报
回复
自己调试下看看执行情况就知道答案了,
应该不要dispose吧,否则前面的白干了。
free000 2005-07-14
  • 打赏
  • 举报
回复
怎么又开了一个新贴呀?

110,499

社区成员

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

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

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