声明:
不是我守旧,实在是工作需要,不然俺也不想用VS2003 :-(
前提:
Form1 上拖入状态栏(statusBar1)控件和进度条(progressBar1)控件。
1. 为状态栏加入一个子栏目,命名为 statusProgress,并将其 Style 属性设为 OwnerDraw。
2. 修改窗体加载事件处理函数如下:
private void Form1_Load(object sender, EventArgs e)
{
// 将进度条控件加入到状态栏的控件集合
statusBar1.Controls.Add(progressBar1);
}
3. 修改状态栏控件的 DrawItem 事件处理函数如下:
private void statusBar1_DrawItem(object sender, StatusBarDrawItemEventArgs sbdevent)
{
// 判断当前是否是显示进度条的状态栏容器
if(sbdevent.Panel.Equals(statusProgress))
{
// 得到容器的范围
Rectangle r = sbdevent.Bounds;
// 将范围值缩小一个像素
r.Inflate(1, 1);
// 设置进度条控件的范围
progressBar1.Bounds = r;
}
}