Обращение из потока к контролу - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

Приветствую! Сегодня у меня печальный день((( Пол дня потратил чтобы решить проблему, так и не смог понять в чем дело. Вернее отдаленно в теории предположительно знаю в чем затык, но как его решить, не пойму. Суть вот в чем. Есть Form1 Есть модуль Есть контрол расположенный на Form1 Что я пытался сделать. Из Form1 вызываю процедуру, которая расположена в модуле. Процедура в модуле по задумке должна была обратится к контролу на Form1 и установить для контрола свойство visible.true Код формы
Код модуля
Пробовал обратиться к форме через объект:
Тоже безрезультатно. Что не так не пойму. Спасите, помогите! )))

Решение задачи: «Обращение из потока к контролу»

textual
Листинг программы
Module module1
 
    Public Frm As Form1
 
    Public Sub Progress()
        Frm = Form1
        Dim thrd As Thread
        thrd = New Thread(AddressOf runPr)
        thrd.Start()
    End Sub
 
    Public Sub runPr()
        'MsgBox("тест") 'месседж бокс срабатывает, т.е. программа до этого шага доходит
        'Form1.PrBar.Visible = True 'тут ничего не происходит
        Frm.Invoke(New _delegate(AddressOf ShowPrBar))
    End Sub
 
    Private Delegate Sub _delegate()
 
    Private Sub ShowPrBar()
        Frm.prbar.Visible = True
    End Sub
 
 
End Module

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.6 из 5
Похожие ответы