При нажатии на Сумма в примере ArbitraryMethod из Лекция 7, VS 2013 выдается ошибка: Необработанное исключение типа "System.InvalidOperationException" в System.Windows.Forms.dll Дополнительные сведения: Недопустимая операция в нескольких потоках: попытка доступа к элементу управления "lblResult" не из того потока, в котором он был создан. Затем: Необработанное исключение типа "System.InvalidOperationException" в mscorlib.dll Дополнительные сведения: Для каждой асинхронной операции метод EndInvoke может вызываться только один раз. |
Опубликован: 11.09.2006 | Уровень: специалист | Доступ: платный
Лекция 11:
Финальный проект — программа education center
- Переходим на страницу "Оплаты". Помещаем на страницу панель (свойству Dock устанавливаем значение Bottom), на эту панель помещаем 5 элементов TextBox txtResultIncome, txtResultOut, txtBalance, txtYesterdaySumm, txtResultCount со свойствами Text "Итого приход", "Итого расход", "Баланс", "Вчера" и "Всего" соответственно. Добавляем Button btnCalculate и создаем для него обработчик события Click (см. код программы). Также на эту панель помещаем 2 кнопки навигации по записям btnNextDate и btnPrevDate. Для каждой из кнопок создаем обработчиков события Click. Помещаем кнопку btnShowPaymentTypeForm, которая будет открывать форму frmPaymentType, и создаем для этой кнопки обработчик события Click. Помещаем на эту же страницу еще одну панель (свойству Dock устанавливаем значение Fill ), на эту панель помещаем DataGrid dgIncome (свойству Dock устанавливаем значение Left, свойству CaptionText устанавливаем значение "Приход"), Splitter и DataGrid dgOut (свойству Dock устанавливаем значение Fill, свойству CaptionText устанавливаем значение "Расход") ( рис. 11.28).
- Переходим на страницу "Проводник". Помещаем на эту страницу панель (свойству Dock устанавливаем значение Bottom ), на эту панель помещаем StatusBar sbMain, добавляем на страницу другую панель (свойству Dock устанавливаем значение Fill ), на эту панель помещаем TreeView tvManager (свойству Dock устанавливаем значение Left ), Splitter, ListView lvManager (свойству Dock устанавливаем значение Fill ). Для tvManager создаем обработчики tvManager_AfterSelect, а для lvManager — lvManager_MouseDown, lvManager_Click, lvManager_DoubleClick (см. код программы) (рис. 11.29).
- Переходим на страницу "Статистика". Помещаем на эту страницу панель (свойству Dock устанавливаем значение Top ), на эту панель помещаем элемент GroupBox. В GroupBox помещаем ComboBox cmbFilteringDirection и создаем для него обработчик cmbFilteringDirection_SelectionChangeCommitted (см. код программы), помещаем Label со свойством Text "Направления". Также в GroupBox помещаем два элемента TextBox: txtOweToEdCenter, txtEdCenterOwe и два элемента Label со свойствами Text "Должны учебн. центру" и "Должен учеб. центр" соответственно. Добавляем также кнопку btnCalculateOwe со свойством Text "Расчет" и создаем для нее обработчик btnCalculateOwe_Click. Затем на страницу добавляем DataGrid dgStatistic (свойство Dock устанавливаем Fill ) (рис. 11.30).