2016-10-04 4 views
0

Для excel VSTO надстройки, которую я создаю в VB.Net, у меня есть функция, которая работает в течение нескольких минут, поэтому, чтобы мои пользователи не становились нетерпеливыми, я хотел бы для отображения индикатора выполнения.Как сделать вид формы окна в VSTO

Итак, я создал форму окна с индикатором выполнения и меткой, которая может отображать текущую активность. Я пытаюсь сделать окно с этим кодом:

Dim progressBar As ProgressForm = New ProgressForm() 
progressBar.BringToFront() 
progressBar.Visible = True 
progressBar.Show() 
progressBar.Focus() 

Когда я запускаю этот код, ничего не происходит. Из отладчика я могу видеть форму в памяти, я могу получить доступ к ее свойствам, но она не отображается, а не поверх приложения excel и диспетчера задач.

Что мне не хватает?

+0

Вы используете этот код от нажатия кнопки или что-то? Я просто попробовал и открытие формы на '_Statup' не работает. Помещение кнопки 'Form.Show()' на кнопку работает. – Malcor

+0

@Malcor: Да, когда нажимается определенная кнопка на ленте ADD-INS, этот код выполняется. – DrDonut

+0

Есть ли что-нибудь в конструкторе для вашего 'ProgressForm' или на загрузке формы? – Malcor

ответ

0

Я приведу пример того, что не хватает в вашем коде:

with progressBar 
.Minimum = 0 
.Maximum = 10 
For i=0 to 10 
.Value = i 
Next i 
end with 

Для получения дополнительной информации об этой области, read this article

+0

Благодарим вас за ваш ответ, но об этом заботится внутри контроля progressBar внутри формы. Проблема в том, что вся форма не показывает ... – DrDonut

+0

может быть, добавьте кнопку в форму, вы поместите этот код: 'Msgbox (" Visible: "& progressBar.Visible.ToString)' какой результат? – romulus001

+0

Затем я получаю окно с сообщением «VisibleTrue», но я уже мог видеть это в отладчике ... Может быть, формы Windows не работают с VSTO или что-то в этом роде? – DrDonut

Смежные вопросы