Аватар для Kotyara0live
34 / 28 / 27
Регистрация: 23.02.2016
Сообщений: 367

Как вызвать событие StartupEventHandler окна?

01.02.2018, 01:05. Показов 3236. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет )
у меня есть дочернее окно которое открывается по нажатию кнопки из базового окна (надеюсь правильно написал)
вот кож кнопки
C#
1
2
3
4
5
6
 private void Button_Click(object sender, RoutedEventArgs e)
        {
            TextLog Log = new TextLog(TextBox_Post.Text,TextBox_Count.Text);
            Log.Owner = this;
            Log.Show();
        }
вот код
C#
1
2
3
4
5
6
7
8
9
10
11
12
 public partial class TextLog : Window
    {
        public TextLog(string s,string d)
        {
            InitializeComponent();
            Application.Current.Startup += new StartupEventHandler(Test);
        }
        private void Test(object sender, StartupEventArgs e)
        {
            MessageBox.Show("Test");
        }
    }
мне нужно что бы открылось окно , а потом выполнился метод (автоматически)
как это реализовать ?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.02.2018, 01:05
Ответы с готовыми решениями:

Вызвать нужное событие из динамически создаваемого TextBlock в другом окне из активного окна
Нужно реализовать что-то в духе Toast Notification из Windows 8 Есть главное окно приложения-MainWindow По некоторому событию...

Принудительно вызвать событие, если произошло другое событие
Сразу оговорюсь, это тема про события, а НЕ про Windows Forms, да бы ни кто не переносил тему. В Windows Forms у тех или иных...

Как повторно вызвать событие Paint?
На форме имеется таблица с данными, и имеется Panel1. Изначально таблица пустая, после нажатия кнопки она заполняется данными, и мне нужно...

6
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
01.02.2018, 02:29
какой код? где расположен? доступность кода?где я?!
0
 Аватар для Kotyara0live
34 / 28 / 27
Регистрация: 23.02.2016
Сообщений: 367
01.02.2018, 10:44  [ТС]
Цитата Сообщение от Diamante Посмотреть сообщение
какой код? где расположен? доступность кода?где я?!
код для вызова расположен в другом классе ..
вот код главного окна
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            ExcelData excel = new ExcelData();
        }
        private void CheckBox_Checked(object sender, RoutedEventArgs e)
        {
            ListEmoji.Emoji.Add((sender as CheckBox).Name.ToString());
        }
 
        private void CheckBox_Unchecked(object sender, RoutedEventArgs e)
        {
            ListEmoji.Emoji.Remove((sender as CheckBox).Name.ToString());
        }
 
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            LogBox logBox = new LogBox();
            logBox.Owner = this;
            logBox.Show();
        }
    }

вот дочернее окно
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
public partial class LogBox : Window
    {
        public LogBox()
        {
            InitializeComponent();
            App.Current.Startup += new StartupEventHandler(Test);
        }
        public void Test(object sender, StartupEventArgs e)
        {
            MessageBox.Show("Hello");
        }
    }

допустим при старте окна LoxBox я хочу вызывать метод Test();
как это сделать ?
мой код не работает (
0
Эксперт .NET
 Аватар для novikov.ea
1857 / 1363 / 429
Регистрация: 10.06.2011
Сообщений: 2,136
01.02.2018, 10:55
Лучший ответ Сообщение было отмечено Kotyara0live как решение

Решение

Цитата Сообщение от Kotyara0live Посмотреть сообщение
App.Current.Startup
Это событие запуска приложения, а не окна. У окна есть событие Loaded. Возможно, оно будет вызвано один раз после первого вызова Show. Поэтому в интернет подсказывают переопределять OnContentRendered.
C#
1
2
3
4
5
    protected override void OnContentRendered(EventArgs e)
    {
        base.OnContentRendered(e);
        // Your code here.
    }
Смотрите, выбирайте, что вам более подходит
1
 Аватар для Kotyara0live
34 / 28 / 27
Регистрация: 23.02.2016
Сообщений: 367
01.02.2018, 10:59  [ТС]
Цитата Сообщение от novikov.ea Посмотреть сообщение
Поэтому в интернет подсказывают переопределять OnContentRendered.
Спасибо
0
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
01.02.2018, 11:18
Цитата Сообщение от Kotyara0live Посмотреть сообщение
мне нужно что бы открылось окно , а потом выполнился метод (автоматически)
А нужно чтобы метод выполнился один раз или при каждом открытии окна?
Если один раз при запуске, то у окна есть событие Window_Initialized.
1
 Аватар для Kotyara0live
34 / 28 / 27
Регистрация: 23.02.2016
Сообщений: 367
01.02.2018, 12:23  [ТС]
Цитата Сообщение от SatanaXIII Посмотреть сообщение
Если один раз при запуске, то у окна есть событие Window_Initialized.
каждый раз когда создается экземпляр окна и запускается..
тоже не плохой вариант , спасибо )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.02.2018, 12:23
Помогаю со студенческими работами здесь

Как в Windows Forms вызвать свое событие?
Никак не могу понять, как вызывать собственное событие (именно свои, а не стандартные). Вот, например, хочу создать событие, наведения...

Как вызвать событие listBox1_SelectedIndexChanged из другого метода
В listbox занесено 10 наименований. Хочу чтобы при нажатии на кнопку выделялся сперва первый элемент, далее второй и так далее.. В принципе...

Как вызвать какое-либо событие у компонента
Как вызвать какое-либо событие у компонента

Можно ли как-то искусственно вызвать существующее событие, или как-то на него подписаться?
Можно ли из кода как-то напрямую вызвать определенное событие? Т.е. нужно, чтобы сработал обработчик этого события (не в runtime-режиме, а...

Как вызвать событие у тега <A>?
когда мы кликаем по тегу &lt;A&gt; браузер начинает загружать страницу указанную в артрибуте href; хочу вызвать именно это событие.Это можно...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru