как обьявить делегат для TextBox.Text?

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Nord777
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1144
Зарегистрирован: 22.02.2004 (Вс) 13:15
Откуда: Подольск

как обьявить делегат для TextBox.Text?

Сообщение Nord777 » 07.04.2005 (Чт) 20:41

как обьявить делегат для TextBox.Text?
Мне нужно изменять содержимое из другого потока
В msdn написано что надо использовать invoke.
Что то не получается создать делегат для свойства.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 08.04.2005 (Пт) 5:07

Дык и не надо создавать делегат для свойства...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

ZeroX
Бывалый
Бывалый
 
Сообщения: 207
Зарегистрирован: 29.04.2003 (Вт) 12:36
Откуда: Мой адрес не дом и не улица, мой адрес Советский Союз

Сообщение ZeroX » 08.04.2005 (Пт) 15:29

Код: Выделить всё
Delegate Sub ChangeTextProperty()

Private Sub TextProperty()
TextBox1.Text="bla bla bla bla bla"
End Sub

Private Sub SubForThread()
Dim ctp As ChangeTextProperty=AddressOf Me.TextProperty
Me.Invoke(ctp)
End Sub
Каждый warning мечтает стать error'om

Nord777
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1144
Зарегистрирован: 22.02.2004 (Вс) 13:15
Откуда: Подольск

Сообщение Nord777 » 09.04.2005 (Сб) 14:04

Огромное спасибо.

Snussi
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 151
Зарегистрирован: 21.07.2004 (Ср) 18:08
Откуда: Москва, Россия

Сообщение Snussi » 11.04.2005 (Пн) 12:47

А как в этом же примере передавать из одного потока в другой значение, которое надо установить?

Грандж
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 150
Зарегистрирован: 29.10.2002 (Вт) 14:10
Откуда: Москва

Сообщение Грандж » 12.04.2005 (Вт) 11:02

вчера возникла та же проблема с ЛистБоксом
vb 2005 кидает теперь cross-thread operation exception в режиме дебагинга, конечно не очень приятная заморочка, ведь в 2003 работает всё нормально
и между ног затеплилась надежда
(%

http://grunger.net.ru

grunger
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 01.06.2002 (Сб) 17:25
Откуда: Нью-Йорк

Сообщение grunger » 12.04.2005 (Вт) 14:06

получилось

Код: Выделить всё
   Public Delegate Function addItemToListBox(ByVal Item As Object) As Integer

    Private Function Add(ByVal Item As Object) As Integer
        Return ListBox1.Items.Add(Item)
    End Function


    Private Function SetListboxItem(ByVal Item As Object) As Integer
        If Me.ListBox1.InvokeRequired Then
            Dim dlg As addItemToListBox = AddressOf Me.Add
            Me.Invoke(dlg, New Object() {Item})
        Else
            ListBox1.Items.Add(Item)
        End If
    End Function


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 78

    TopList