2013-06-03 1 views
-3

В Моем Приложеинем я имею grid и picturebox .I хочет показать окно изображения, когда я загрузку сетки и некоторые process.I пытаются как этотДоступ к UI в Threading

Dim mRestoreThread as thread 

Перед LoadDataGrid Вызывается набором PictureBox1.Visible=true

mRestoreThread = New Thread(AddressOf LoadDataGrid) 
    mRestoreThread.IsBackground = True 
    mRestoreThread.Start() 

После того, как этот метод закончил затем установить PictureBox1.Visible=false

(Этот PictureBox это шоу для обработка продолжается)

Как это сделать? Любое допустимое решение есть?

+0

Вы устанавливаете видимый ящик изображения в течение периода времени, необходимого для запуска потока, - вы не дожидаетесь, когда он сообщит, что он закончился, в коде выше? –

+0

@RowlandShaw Как я могу получить информацию из этой темы, что она была закончена? – Sathish

+0

Является ли код, который вы опубликовали на пользовательском интерфейсе, я предполагаю, что это так? Где происходит ошибка поперечного потока (показать этот код)? – dbasnett

ответ

1

Попробуйте

Private Sub LoadDataGrid() 
    'do whatever here 
    ' 
    ' 
    'at the end do 
    Me.Invoke(New MethodInvoker(AddressOf hidePB)) 
End Sub 

Private Sub hidePB() 
    PictureBox1.Visible = False 
End Sub 

Есть более короткие пути.

+0

Спасибо за ценное время. Но его не работает. Picturebox не отображается при вызове loaddatadrive. – Sathish

+0

После установки PictureBox1.Visible = true попробуйте PictureBox1.Refresh. – dbasnett

+0

Это wroking. поле отображается. но одна проблема. в моей картинной коробке у меня анимированное изображение не анимировано. – Sathish

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