我正在使用ProgressBar,它可以是Continuous或Blocks样式(我无法在我的应用程序中启用视觉样式)。
我通过一步一步地推进工作
代码就像这样(在 msdn 上查看):
private Timer timer = new Timer();
void progressbar1_visibleChanged(object sender, EventArgs e)
{
var progressb = sender as ProgressBar;
if (progressb != null && progressb.Visible == true)
{
InitializeProgress();
}
}
private void InitializeProgress()
{
progressBar1.Value = 0;
timer.Interval = 50;
timer.Tick += new EventHandler(IncreaseProgressBar);
timer.Start();
}
private void IncreaseProgressBar(object sender, EventArgs e)
{
if (progressBar1.Value >= progressBar1.Maximum)
{
progressBar1.Value = 0;
}
progressBar1.Increment(1);
}
(并且显示进度条\从执行不同操作的不同 worker 隐藏)
然而,它看起来很难看,我希望它从左到右,从右到左移动。
我怎样才能做到这一点?
非常感谢
答案 0 :(得分:1)
你需要Override CurrentCulture for WinForms control从右到左的语言(例如希伯来语 - “他”或“he-IL”)这有点棘手,因为这只适用于线程(而不是例如表格或控件)。
然后将进度条控件属性“RightToLeft”设置为“Yes”,将“RightToLeftLayout”属性设置为“True”。
现在您的进度条应该转到RTL 。如果它没有或改为RTL文化比它给出的伤害更多,我唯一能看到的选择是为作业创建一个自定义控件。
希望这有帮助!