powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как во время исполнения программы узнать имя активной формы?
6 сообщений из 6, страница 1 из 1
Как во время исполнения программы узнать имя активной формы?
    #32880023
Alexandr Golovko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Такая пробема:
Есть проект, содержащий, скажем, под пару сот форм. Проект мне еще не знаком.
Запускаю проект на выполение. В программе вызываю форму, скажем, добавление пользователя. И например, мне что-то в этой форме не понравилось. Как мне узнать, как называеться эта форма в проекте, что бы поправить ее?
Не знаю как в VB.NET, а в VB6 это делалось очень просто:
На нужной форме (должна быть активна форма), в момент выполения программы нажимается Ctrl+Pause, затем нажимаем продолжить (F8) и теперь, когда мы нажимаем на любой компонент с оброботчиком (кнопка,комбобокс) программа останавливаеться на коде этого обработчика в данной форме. И мы видем название этой формы.
А как найти нужную форму в C#? не перелопачивать же все формы? :)
Мож какая утилита есть, если в самом C# нет такой возможности?
...
Рейтинг: 0 / 0
Как во время исполнения программы узнать имя активной формы?
    #32880071
Secret
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть статический метод Form.ActiveForm
...
Рейтинг: 0 / 0
Как во время исполнения программы узнать имя активной формы?
    #32880106
Фотография Roman S. Golubin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>> Как мне узнать, как называеться эта форма в проекте

> есть статический метод Form.ActiveForm

Более точно для данного случая было бы

Код: plaintext
1.
string fullName = typeof(Form.ActiveForm).FullName;

--
WBR, Roman S. Golubin
ICQ UIN: 63253392
...
Рейтинг: 0 / 0
Как во время исполнения программы узнать имя активной формы?
    #32880418
Alexandr Golovko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что то я не совсем понял, что мне дает Form.ActiveForm?
Если я остановлю проект (нажму на паузу) и просмотрю Form.ActiveForm, то я же ничего не увижу!
...
Рейтинг: 0 / 0
Как во время исполнения программы узнать имя активной формы?
    #32880545
Secret
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ctrl+Break не пробовали?
...
Рейтинг: 0 / 0
Как во время исполнения программы узнать имя активной формы?
    #32880622
Фотография Roman S. Golubin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexandr Golovkoчто то я не совсем понял, что мне дает Form.ActiveForm?
Если я остановлю проект (нажму на паузу) и просмотрю Form.ActiveForm, то я же ничего не увижу!

Добавь в программу таймер, который раз в секунду сохраняет наименование последней активной формы в локальную переменную класса, из которого выполняется функция Main, например:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
class Program {

  static string lastFormClassName;

  static void Main() {

    Timer timer = new Timer();
    timer.Interval = 1000;
    timer.Tick += new EventHandler(timer_Tick);
    timer.Start();

...

    Application.Run(...);
  }
  
  private static void timer_Tick(object sender, EventArgs e)  {
    if (Form.ActiveForm != null)
      lastFormClassName = Form.ActiveForm.GetType().FullName;
  }
}

Перед нажатием Ctrl+Break выбираешь нужную форму и ждешь пару секунд, после - смотришь наименование класса в lastFormClassName

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


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