INTUIT.ru::Форум Твой путь к знаниям
Регистрация | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны
Вернуться   INTUIT.ru::Форум > Курсы > Системы программирования > Создание Windows-приложений на основе Visual C#
Вход для студентов.
Если это ваш первый визит, рекомендуем почитать Справку по форуму. Для размещения своих сообщений необходимо зарегистрироваться. Для просмотра сообщений выберите раздел.
Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 16.08.2007, 14:19
EuGenius_Krivbass EuGenius_Krivbass вне форума
Новичок
 
Регистрация: 30.01.2007
Сообщения: 11
EuGenius_Krivbass Новичок
Exclamation Приложение ProgressBar (7 лекция). Доработка с асинхронным методом

В 7 лекции рассматривалось приложение ProgressBar. Домашним заданием осталось доделать с использованием асинхронного метода.
Кто реализовал задание???
Я попытался сделать так, но окошко во время заполнения прогрессбара все равно не реагирует на действия пользователя.
вот код (FW 2.0):
Код:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace ProgressBar { public partial class Form1 : Form { private delegate void Async(); private void Progress() { pictureBox1.Invoke(new MethodInvoker(delegate { pictureBox1.Visible = true; })); for (float i = 0; i < 30000; i++) { progressBar1.Invoke(new MethodInvoker(delegate { progressBar1.Value = (int)i; })); } pictureBox1.Invoke(new MethodInvoker(delegate { pictureBox1.Visible = false; })); } public Form1() { InitializeComponent(); } private void btnEnter_Click(object sender, EventArgs e) { try { progressBar1.Value = Convert.ToInt32(textBox1.Text); } catch (Exception) { MessageBox.Show("При выполнении преобразования типов возникла ошибка"); return; } } private void btnStart_Click(object sender, EventArgs e) { Async prdelegate = new Async(Progress); AsyncCallback cb = new AsyncCallback(CallBackMethod); prdelegate.BeginInvoke(cb, prdelegate); } private void CallBackMethod(IAsyncResult ar) { Async prdelegate = (Async)ar.AsyncState; prdelegate.EndInvoke(ar); } } }
Ответить с цитированием
Ответ


Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 09:29.


Регистрация | Справка | Пользователи | Календарь

Телефон: (495) 253-9312, 253-9313, факс: (495) 253-9310, email: info@intuit.ru
© 2003-2008, INTUIT.ru::Интернет-Университет Информационных Технологий - дистанционное образование
Powered by vBulletin Version 3.5.4 Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Хостинг предоставлен компанией РМ Телеком.
Сервер предоставлен компанией KRAFTWAY COMPUTERS.
Rambler's Top100