Control.IsAccessible - PullRequest
       9

Control.IsAccessible

4 голосов
/ 11 мая 2010

Мне нужно проверить, инициализировано ли окно WinForm c # (класс FORM) и ожидает пользовательских событий. Но я не мог понять, как с этим справиться.

Поэтому у меня была идея установить флаг Control.IsAccessible формы в значение true в событии OnLoad формы Windows.

Мой вопрос сейчас, для чего предназначен источник флага Control.IsAccessible? Или есть другое решение для проверки инициализации Winform.

Спасибо за вашу помощь

Ответы [ 2 ]

3 голосов
/ 12 мая 2010

Control.IsAccessible просто означает, что элемент управления видим для приложений с расширенными возможностями.

Вы можете проверить myForm.Created, чтобы увидеть, существует ли окно.

Вы также можете зарегистрировать обработчик события для события Application.Idle , которое происходит, когда приложение завершило инициализацию и готово начать обработку сообщений Windows.

Вот общее использование:

public int Main(string[] args)
{
    Application.Idle += WaitUntilInitialized;
}

private void WaitUntilInitialized(object source, EventArgs e)
{
    // Avoid processing this method twice
    Application.Idle -= WaitUntilInitialized;

    // At this point, the UI is visible and waiting for user input.
    // Begin work here.
}
2 голосов
/ 11 мая 2010

Я не знаю, для чего предназначен IsAccessible, но для проверки, которую вы делаете, вы хотите Created

if(myForm.Created)
{
    //Do stuff
}

У меня была целая куча проблем, здесь - это один из моих старых вопросов о SO, который мне очень помог.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...