|
Открытие формы по имени, и доступ к ней из другой формы
|
|||
---|---|---|---|
#18+
Всем доброго дня. Есть такая процедура в модуле, открывающая форму по имени Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Вызываю ее в модуле так, открываю форму с именем "Form1": Код: vbnet 1. 2. 3.
Все хорошо, форма открывается. Далее из другой формы мне необходимо обратиться к компонентам этой открытой формы Form1. Пишу: Код: vbnet 1.
И ничего не происходит, не ругается, ошибки нет, текст кнопки не меняется. Подозреваю, что вот к открытой так форме надо обращаться как-то по другому, но не знаю, как. Подскажите пожалуйста. Заранее спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2017, 08:12 |
|
Открытие формы по имени, и доступ к ней из другой формы
|
|||
---|---|---|---|
#18+
Настенька, Нужно в модуле сделать чтобы frm переменная была public. А из другой формы обращаться не к Form1.Button1.Text = "тест", а к MyModule.frm.Button1.Text = "тест". Думаю что так. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2017, 08:44 |
|
Открытие формы по имени, и доступ к ней из другой формы
|
|||
---|---|---|---|
#18+
Если Вы так открываете формы, то формы надо наследовать от некого интерфейса, где объявить все что нужно Вам. Создав Instance далее приводите его к этому интерфейсу и вперед. К Button1 Вы не можете вот так вот просто обратится, он должен быть как public, что ни есть комильфо. Лучше сделать свойство get ButtonЛя-ля, объявленное в интерфейсе и использовать его. Примеры писать не буду у Вас VB.NET, а я на C# и мне просто лень. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2017, 09:10 |
|
Открытие формы по имени, и доступ к ней из другой формы
|
|||
---|---|---|---|
#18+
Option Strict On Код: vbnet 1. 2.
Если появится ошибка компиляции Button1 сделать public. Должно помочь ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2017, 01:49 |
|
Открытие формы по имени, и доступ к ней из другой формы
|
|||
---|---|---|---|
#18+
Возобновлю вопрос. В модуле есть 2 процедуры: Код: vbnet 1. 2.
Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Код: vbnet 1. 2. 3. 4. 5. 6.
Первая ищет форму по ее имени Вторая - присваивает всем ее элементам шрифт 10. Проходит все без ошибок, но при открытии этой формы frm_color ничего не меняется. Все компоненты этой формы имею Modifiers - Public. Куда копать дальше? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2017, 08:08 |
|
Открытие формы по имени, и доступ к ней из другой формы
|
|||
---|---|---|---|
#18+
Сделала пример, очень простенький, там две формы. И там тоже это не работает. Прикладываю его. Если не трудно, посмотрите его, помогите, пожалуйста, в этом примере сделать правильно. Заранее спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2017, 08:20 |
|
Открытие формы по имени, и доступ к ней из другой формы
|
|||
---|---|---|---|
#18+
Настенька, Открывать нужно тот экземпляр формы к которому и применялись действия с шрифтами, т.е. вместо Код: vbnet 1. 2. 3.
должно быть Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Module1.frm.Show() End Sub ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2017, 10:12 |
|
Открытие формы по имени, и доступ к ней из другой формы
|
|||
---|---|---|---|
#18+
Kolu4ka, спасибо огромное. Открыть удалось эту форму, потом закрываю ее, и при повторном открытии пишет вот такое сообщение (в скриншоте). Что надо сделать, чтобы она повторно открывалась нормально? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2017, 10:27 |
|
Открытие формы по имени, и доступ к ней из другой формы
|
|||
---|---|---|---|
#18+
Настенька, можно ее не закрывать, а спрятать, метод Hide. А если закрываешь, то объект уничтожается и его снова нужно создавать заново, у тебя он создается в методе auto_font. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2017, 10:48 |
|
Открытие формы по имени, и доступ к ней из другой формы
|
|||
---|---|---|---|
#18+
Что только не сделаешь, чтобы из типизированного языка сделать PHP! Сколько можно придумать методов, чтобы обмануть компилятор, и получить ошибки на рантайме, а не при построениии! Дали людям Reflection ... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2017, 11:29 |
|
Открытие формы по имени, и доступ к ней из другой формы
|
|||
---|---|---|---|
#18+
НастенькаDim frm As New Form frm = DirectCast(CreateObjectInstance("Form1"), Form) frm.Show() Все хорошо, форма открывается. Далее из другой формы мне необходимо обратиться к компонентам этой открытой формы Form1 . Пишу: Form1.Button1.Text = "тест" ну, вообще-то, у вас открыта форма не Form1, а frm frm.Button1.Text = "тест"; и при этом, как было написано, Button1 должен быть публик. А лучше сделать публичную функцию. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2017, 12:48 |
|
|
start [/forum/topic.php?fid=20&fpage=46&tid=1399981]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
34ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
3ms |
others: | 16ms |
total: | 142ms |
0 / 0 |