Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
 Аватар для jkrnd
179 / 69 / 13
Регистрация: 22.12.2015
Сообщений: 2,648

Метод Show формы и события с ним связанные

26.02.2017, 09:21. Показов 2878. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем здравствуйте.
Есть две формы Main и Second. Main всегда в памяти и выгружается при закрытии всего приложения. Second вызывается из Main методом Show и уже из памяти не выгружается до закрытия всего приложения. Закрываем Second методом Hide (из памяти она не выгружается, а только скрывается) показывая Main форму. Какие события следует использовать, если я хочу, например, чтобы некий таймер (принадлежащий Second) работал только когда Second отображена на экране
форма Main:
VB.NET Скопировано
1
2
3
4
5
6
Public Class Main
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Me.Hide()
        Second.Show()
    End Sub
End Class
форма Second:
VB.NET Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Public Class Second
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Me.Hide()
        Main.Show()
    End Sub
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        'проверка того тикает ли таймер формы Second или не тикает
        Me.Label1.Text = Date.Now.Second
        Main.Label1.Text = Date.Now.Second
    End Sub
    Private Sub Second_Activated(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Activated
        Me.Timer1.Start()
    End Sub
    Private Sub Second_Deactivate(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Deactivate
        Me.Timer1.Stop()
    End Sub
End Class
При использовании Activated/Deactivate если переключаюсь на другие приложения возникает ситуация: ни одной из форм на экране нет, ни одного окошка на панели задач нет, а приложение работает (закрываю только по SHIFT+F5)! Событие Shown тоже не подходит (вызывается только при первом вызове метода Show). Какие же события формы жёстко связано с методами Show и Hide?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.02.2017, 09:21
Ответы с готовыми решениями:

Чем метод формы show отличается от метода showmodal?
Чем метод формы show отличается от метода showmodal?

Метод UserForm.Show при повторном выполнении .Show
При первом выполнении этого метода поисходит событие Activate_UserForm Как сделать, чтобы при повторном выполнении .Show (без закрытия...

PCAP и связанные с ним ошибки
Доброго времени суток. Использую PCAP, чтобы снифать пакеты в своей программе. Она работает, однако есть одна неприятная особенность. ...

8
Модератор
Эксперт .NET
 Аватар для Yury Komar
4323 / 3397 / 507
Регистрация: 27.01.2014
Сообщений: 6,197
26.02.2017, 14:53
Лучший ответ Сообщение было отмечено jkrnd как решение

Решение

событие VisibleChanged наверное вам подойдет
3
 Аватар для jkrnd
179 / 69 / 13
Регистрация: 22.12.2015
Сообщений: 2,648
26.02.2017, 15:03  [ТС]
Yury Komar, спасибо, это лучше чем Activated, а вообще где подсмотреть последовательность событий при создании формы и её выгрузке?
0
Модератор
Эксперт .NET
 Аватар для Yury Komar
4323 / 3397 / 507
Регистрация: 27.01.2014
Сообщений: 6,197
26.02.2017, 15:27
наверное в МСДН
1
 Аватар для edward_freedom
1569 / 1448 / 303
Регистрация: 01.10.2011
Сообщений: 2,636
26.02.2017, 15:46
Где, как не на офф. сайте это смотреть? https://msdn.microsoft.com/en-... axx0d.aspx
3
1544 / 1507 / 324
Регистрация: 03.10.2012
Сообщений: 1,542
26.02.2017, 17:39
Я тут не поленился, потратил 10 минут, определил все события формы какие есть и вот что получил
VB.NET Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Dim lst As New List(Of String)
    Private Sub Form1_AutoSizeChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.AutoSizeChanged
        lst.Add("AutoSizeChanged")
    End Sub
 
    Private Sub Form1_Activated(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Activated
        lst.Add("Activated")
    End Sub
' ' '
' И так далее, все события
' ' '
 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        ListBox1.Items.AddRange(lst.ToArray)
    End Sub
Миниатюры
Метод Show формы и события с ним связанные  
2
Модератор
Эксперт .NET
 Аватар для Yury Komar
4323 / 3397 / 507
Регистрация: 27.01.2014
Сообщений: 6,197
26.02.2017, 18:44
MrCrown, а если в коде дизайнера пепеставить местами присвоения зеачений свойствам формы и ее контролов? думаю ваш список будет немного отличаться?
1
1544 / 1507 / 324
Регистрация: 03.10.2012
Сообщений: 1,542
26.02.2017, 19:03
Цитата Сообщение от Yury Komar Посмотреть сообщение
думаю ваш список будет немного отличаться?
Думаю, что да. Вот что выводится при открытии новой пустой формы
Миниатюры
Метод Show формы и события с ним связанные  
1
 Аватар для jkrnd
179 / 69 / 13
Регистрация: 22.12.2015
Сообщений: 2,648
26.02.2017, 19:04  [ТС]
MrCrown, я попробовал и действительно при загрузке формы:
Load
Activated
VisibleChanged
Shown
но ведь в MSDN не так (https://msdn.microsoft.com/ru-... axx0d.aspx):
Load
VisibleChanged
Activated
Shown
Как это понимать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.02.2017, 19:04
Помогаю со студенческими работами здесь

Вывести на холст термин и связанные с ним слова
Доброго времени суток. Задача такая - необходимо, используя JS, вывести на холст термин и связанные с ним слова. От термина к каждому...

Show, Close, Update формы из другой формы
Есть форма на ней datagridview (всего 40 столбцов, 38 скрыты) . При выборе строки в dgv необходимо открыть новую форму и в ней задать...

Связанные события на форме
Доброго времени суток! Создаю пользовательскую форму с большим количеством контролов (textbox, combobox, checkbox). БОльшая часть...

Связанные свойства и события
Имеется: public class DataModel { public ObservableCollection<IDs> ProgramIds {get; set; } public string EditionsString...

События и связанные элементы
Доброго времени суток форумчане! Решил серьезно заниматься битриксом. В самой системе ориентирусь, понимаю "что куда зачем кого и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Очередные открытия мега простых чисел, сделанные добровольцами с помощью домашних компьютеров
Programma_Boinc 21.04.2025
Очередные открытия мега простых чисел, сделанные добровольцами с помощью домашних компьютеров. 3 марта 2025 года, в результате обобщенного поиска простых чисел Ферма в PrimeGrid был найден. . .
Система статов в Unity
GameUnited 20.04.2025
Статы — фундаментальный элемент игрового дизайна, который определяет характеристики персонажей, предметов и других объектов в игровом мире. Будь то показатель силы в RPG, скорость передвижения в. . .
Статические свойства и методы в TypeScript
run.dev 20.04.2025
TypeScript прочно занял своё место в системе современной веб-разработки. Этот строго типизированный язык программирования не просто расширяет возможности JavaScript — он делает разработку более. . .
Batch Transform и Batch Gizmo Drawing API в Unity
GameUnited 20.04.2025
В мире разработки игр и приложений на Unity производительность всегда была критическим фактором успеха. Создатели игр постоянно балансируют между визуальной привлекательностью и плавностью работы. . .
Звук в Unity: Рандомизация с Audio Random Container
GameUnited 20.04.2025
В современных играх звуковое оформление часто становится элементом, который либо полностью погружает игрока в виртуальный мир, либо разрушает атмосферу за считанные минуты. Представьте: вы исследуете. . .
Максимальная производительность C#: Советы, тестирование и заключение
stackOverflow 20.04.2025
Погружение в мир микрооптимизаций C# открывает перед разработчиком целый арсенал мощных техник. Но как определить, где и когда их применять? Ответ начинается с точных измерений и профилирования. . . .
Максимальная производительность C#: Предсказание ветвлений
stackOverflow 20.04.2025
Третий ключевой аспект низкоуровневой оптимизации — предсказание ветвлений. Эта тема менее известна среди разработчиков, но её влияние на производительность может быть колоссальным. Чтобы понять. . .
Максимальная производительность C#: Векторизация (SIMD)
stackOverflow 20.04.2025
Помимо работы с кэшем, другим ключевым аспектом низкоуровневой оптимизации является векторизация вычислений. SIMD (Single Instruction, Multiple Data) позволяет обрабатывать несколько элементов данных. . .
Максимальная производительность C#: Процессорный кэш
stackOverflow 20.04.2025
Знакомство с внутренним устройством процессорного кэша — ключевой шаг в написании по-настоящему быстрого кода на C#. Этот слой архитектуры компьютера часто ускользает от внимания разработчиков, но. . .
Максимальная производительность C#: Введение в микрооптимизации
stackOverflow 20.04.2025
В мире разработки на C# многие привыкли полагаться на . NET Runtime, который "магическим образом" сам оптимизирует код. И часто это работает - современные JIT-компиляторы творят чудеса. Но когда речь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер