滚动条中拖动条长度主要有minimum,maximum,largechange三个属性决定。它们符合以下关系:
拖动条长度/滚动条总长度=largechange/(maximum-minimum)=客户区高度/文档高度
因此可以写一下设置代码:
minimum=0;
maximum=文档高度;
largechange=客户区高度;
对于进度条,主要由minimum,maximum,value三个属性确定。step用于performstep方法调用。
可以写一下代码:
minimum=0;
maximum=任务数量;
step=1;
foreach(任务)
{
//完成当前任务
...
performstep();
}
注意不必担心循环阻塞performstep,因为这个函数会马上处理消息队列中的进度条消息,相当于隐含调用了Application.Doevents().