private void AddMyScrollEventHandlers()
{
VScrollBar vScrollBar1 = new VScrollBar();
}
private void button1_Click(object sender, EventArgs e)
{
while (true)
{
if (vScrollBar1.Value + 1 < vScrollBar1.Maximum)
{
vScrollBar1.Value = vScrollBar1.Value + 1;
label1.Text = vScrollBar1.Value.ToString();
}
else
{
break;
}
System.Threading.Thread.Sleep(200);
}
}
private void button2_Click(object sender, EventArgs e)
{
// vScrollBar1.Scroll
}
Я новичок в C#. Я работал над свитком. Я хотел бы здесь, если кто-то нажал кнопку1, затем прокрутка автоматически переместится в конец, и я хочу показать постепенное значение в label1. Также, когда кто-то нажимает кнопку button2, прокрутка останавливается.Невозможно нажать кнопку при запуске метода
Теперь проблема label1 не показывает постепенное изменение стоимости. Он показывает значение один раз, когда остановка прокрутки.
Также, когда прокрутка продолжается i, e, когда цикл работает, я не могу нажать кнопку2. На самом деле я не могу нажать на форму.
Кто-то, пожалуйста, дайте мне некоторое представление о том, как это сделать.
BackgroundWorker не подходит для этого сценария. Весь процесс связан с UI. Он мог легко использовать таймер оконных форм. –
Вы правы, но я полагаю, что 'System.Threading.Thread.Sleep (200);' представляет задачу, которая будет выполняться в 'DoWork'. В противном случае код не имеет большого смысла –
Ну, это именно то, что ['Timer'] (http://msdn.microsoft.com/en-us/library/system.windows.forms.timer.aspx) предназначен для. –