Главная /
Создание Windows-приложений на основе Visual C# /
Вы разрабатываете приложение, в котором используется асинхронное обновление пользовательского интерфейса. Для этого вы создали метод Upgrade, в котором и происходит обновление: private void Upgrade() { // Код для обновления. } Асинхронный запуск метода Up
Вы разрабатываете приложение, в котором используется асинхронное обновление пользовательского интерфейса. Для этого вы создали метод Upgrade
, в котором и происходит обновление:
private void Upgrade()
{
// Код для обновления.
}
Асинхронный запуск метода Upgrade должен происходить в обработчике события Event:
При запуске приложения и при наступлении события Event вы обнаружили, однако, что обновления пользовательского интерфейса не происходит. Укажите причину и способ ее устранения:
вопросПравильный ответ:
в результате вызова метода
UpgradeRun_Event
не происходит обновления пользовательского интерфейса в основном потоке. Для решения проблемы необходимо в этом обработчике вызвать метод, в котором будет вызываться метод Upgrade
через экземпляр делегата MethodInvoker
.
в обработчике реализована некорректная синтаксическая конструкция. Правильный вариант выглядит следующим образом:
private void UpgradeRun_Event (object sender, System.EventArgs e)
{
DelegateForUpgrade DelForUpg = new DelegateForUpgrade();
DelForUpg.Upgrade();
DelForUpg.BeginInvoke(null, null);
}
в обработчике реализована некорректная синтаксическая конструкция. Правильный вариант выглядит следующим образом:
private void UpgradeRun_Event (object sender, System.EventArgs e)
{
DelegateForUpgrade DelForUpg = new DelegateForUpgrade();
DelForUpg.Upgrade(null);
DelForUpg.BeginInvoke(null, null);
}
в результате вызова метода
UpgradeRun_Event
не происходит обновления пользовательского интерфейса в основном потоке. Для решения проблемы необходимо в этом обработчике вызвать метод, в котором будет вызываться метод Upgrade
через экземпляр делегата EndInvoke
Сложность вопроса
75
Сложность курса: Создание Windows-приложений на основе Visual C#
77
Оценить вопрос
Комментарии:
Аноним
спасибо за пятёрку
31 янв 2020
Другие ответы на вопросы из темы программирование интуит.
- # Вы разрабатываете форму, которая представляет собой панель инструментов. На ней находятся 10 элементов управления, которые автоматически располагаются в нужном порядке при изменении размера формы. Первоначальный размер формы должен быть 600х250 пикселей. При уменьшении размера формы до менее чем 450х150 пикселей, элементы управления располагаются неправильно. Необходимо ограничить размер формы этим размером и запретить сворачивание и разворачивание формы. Выберите действия, которые заведомо нужно выполнить:
- # Выберите пространства имен, которые необходимо подключить для реализации ролевой безопасности на основе классов GenericPrincipal и GenericIdentity:
- # Вы разрабатываете условно-бесплатную программу, по истечении ее пробного срока пользователь должен будет зайти на сайт www.mysoft.com и зарегистрироваться. Ключевым элементом работы является кнопка btnMainAction панели инструментов tbMainAction, и поэтому в качестве меры напоминания вы выбрали автоматический переход на сайт программы при наведении курсора на кнопку панели. Функциональность кнопки при этом должна сохраняться. Выберите правильную конструкцию для этого:
- # Вы разрабатываете графическую MDI-программу, позволяющую редактировать несколько файлов. На главную форму вы добавили элемент OpenFileDialog, причем необходимо добавить возможность открытия файлов только для чтения – изменения следует вносить в сохраняемые копии. Также требуется при выборе нескольких файлов открывать их в отдельном окне. Выберите нужные свойства элемента OpenFileDialog:
- # Метод SomeMethod на языке С имеет следующий вид: BOOL SomeMethod (HWND hwnd, DWORD dwTime, DWORD dwFlags) Выберите правильное преобразование этого метода на языке C#: