Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как можно обратиться к текст боксу на главной форме из подчиненной? / 9 сообщений из 9, страница 1 из 1
05.08.2004, 16:47
    #32637405
dencat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно обратиться к текст боксу на главной форме из подчиненной?
Есть форма, на ней текстовое поле и кнопка, принажатии на кнопку открывается вторая форма, в ней выполняются некие действия.При нажатии на кнопку ОК вторая форма закрывается.В этот момент должно изменяться текстовое поле на первой форме.Т.е. либо в оработчике нажатия ОК, либо при получении первой формой фокуса.

Каким образом можно обратится к контролу на одной форме из другой формы?
...
Рейтинг: 0 / 0
05.08.2004, 16:52
    #32637420
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно обратиться к текст боксу на главной форме из подчиненной?
через экземпляр формы
...
Рейтинг: 0 / 0
05.08.2004, 16:55
    #32637428
Magnus23
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно обратиться к текст боксу на главной форме из подчиненной?
Есть несколько вариантов.
1. Сделать статический метод(shared) для первой формы и передавать ему значение.
2. Обьевить делегата(delegate), вызывать событие по клику и ловить его в основной форме.
3. Получить Parent-а подчинненной формы и установить значения напраямую либо через публичный метод.

Magnus
...
Рейтинг: 0 / 0
05.08.2004, 17:30
    #32637464
dencat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно обратиться к текст боксу на главной форме из подчиненной?
Я так понимаю, что пытаюсь сделать похожее на первый вариант. В главной форме есть подпрограмма:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Public Shared Sub loadAdres(ByVal txt As TextBox, ByVal selStr As String, ByVal tabname As String, ByVal itemname As String)

        Dim selectedRows() As DataRow

        selectedRows = CompanyForm.dsCompany.Tables(tabname).Select(selStr & "AND CompanyContragentId = " & CompanyForm.selRow("CompanyContragentId"))
        If selectedRows.Length =  0  Then
            txt.Text = "N/A"
        Else
            txt.Text = RTrim(selectedRows( 0 ).Item(itemname))
        End If
        txt.ReadOnly = True
    End Sub

Так вот если я вызываю ее из подчиненной фрмы, мне нужно как то обратиться к TextBox в главной форме.
...
Рейтинг: 0 / 0
05.08.2004, 19:35
    #32637610
Magnus23
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно обратиться к текст боксу на главной форме из подчиненной?
То что я имел ввиду несколько более узкофункционально:


Код: plaintext
1.
2.
Public Shared Sub SetText(ByVal sTextToSet As string)
     txtMainFormTextBox.Text = sTextToSet
End Sub

В подчиненной просто вызывать его не создавая экземпляр формы(т.е. по имени класса) и передавать необходимый текст.

Код: plaintext
FrmMain.SetText("New message")

Magnus
...
Рейтинг: 0 / 0
05.08.2004, 20:30
    #32637667
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно обратиться к текст боксу на главной форме из подчиненной?
Magnus23
3. Получить Parent-а подчинненной формы и установить значения напраямую либо через публичный метод.

Дополню Magnus23 вместо Public можно использовать модификатор Friend

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
05.08.2004, 20:50
    #32637682
Magnus23
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно обратиться к текст боксу на главной форме из подчиненной?
Sa Magnus23
3. Получить Parent-а подчинненной формы и установить значения напраямую либо через публичный метод.

Дополню Magnus23 вместо Public можно использовать модификатор Friend

Код: plaintext
 uid  =  S a

Можно. А разница? ;) Зачем? :)
Не думаю что в данном случае намечается использование класса(всего проэкта) внешними компонентами которых необходимо было бы ограничить в возможностях.
Даже если бы и были, мы ведь не знаем назначения этого функционала. А вдруг подобный метод был бы как раз ключевым? :)
...
Рейтинг: 0 / 0
05.08.2004, 20:58
    #32637687
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно обратиться к текст боксу на главной форме из подчиненной?
Можно. А разница? ;) Зачем? :)
Не думаю что в данном случае намечается использование класса(всего проэкта) внешними компонентами которых необходимо было бы ограничить в возможностях.

Вообще то правило хорошего тона, дать не больше и не меньше.

Даже если бы и были, мы ведь не знаем назначения этого функционала. А вдруг подобный метод был бы как раз ключевым? :)

Ну я так и написал: "дополню" :-)

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
05.08.2004, 21:09
    #32637691
Magnus23
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно обратиться к текст боксу на главной форме из подчиненной?
SAВообще то правило хорошего тона, дать не больше и не меньше.
... в случае повторного использования - абсолютно. Но если его нет, то и разницы между двумя модификаторами вероятно нет никакой.
Соглашусь только на вырабатывание в самом себе привычки следовать "хорошей практике", которая никогда не помешает :).


Magnus
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как можно обратиться к текст боксу на главной форме из подчиненной? / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]