/
vasilievvf
/
SPP
Обзор
Документация
Войти
/
vasilievvf
/
SPP
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Projects/Addons/Csharp/Service/MainWindow.xaml.cs
125 строк
4 KB
Vladimir Vasilev
Добавил_каталог_Addons,_проект_TestDll_для_проверки_работы_библиотеки_Ag34411A_Om.
13 май 2026, 12:59
13 май 2026, 12:59
4958c27
Код
Авторство
О чём код?
using ServiceNS.ModelsNS.RS232NS; using System; using System.Threading; using System.Windows; namespace ServiceNS { /// <summary> /// Проект для прошивки компенсации в контроллер. /// </summary> public partial class MainWindow : Window { #region Конструктор. public MainWindow() { InitializeComponent(); #region Положение окна на экране. WindowStartupLocation = WindowStartupLocation.CenterScreen; #endregion Главное окно. } #endregion Конструктор. #region Главное окно. #region Загрузка главного окна. private void Window_Loaded(object sender, RoutedEventArgs e) { #region Таймер обновления GUI. /// Таймер опроса контроллера запускается в классе RS232. // Делегат для типа Timer. dTimerUpdateGUICallback += new TimerCallback(TimerUpdateGUICallback); /// Запустить таймер обновления GUI. timerUpdateGUI = new Timer(dTimerUpdateGUICallback, null, 0, periodTimerUpdateGUI); // Делегат для типа Timer. dUpdateGUIMethod += new UpdateGUI(UpdateGUIMethod); #endregion Таймер обновления GUI. #region Загрузить параметры из iniFile. SetGUI_PropertiesFromIniFile(); #endregion Загрузить параметры из iniFile. } void SetGUI_PropertiesFromIniFile() { layServiceUC.SetGUI_PropertiesFromIniFile(); } #endregion Загрузка главного окна. #region Закрыть главное окно. private void Window_Closed(object sender, EventArgs e) { // Остановить таймер опроса порта. RS232.StopTimerRequestController(); // Сохранить настройки в ini файл. SaveSettingsInIniFile(); } /// <summary> /// Сохранить настройки в settings.ini. /// </summary> void SaveSettingsInIniFile() { layServiceUC.SaveSettingsInIniFile(); } #endregion Закрыть главное окно. #region Таймер обновления GUI. #region Настройки. // Таймер обновления GUI. // Лучше не допускать, чтобы periodTimerUpdateGUI был // кратен periodTimerRequestController. // Когда периоды были равны periodTimerUpdateGUI = periodTimerRequestController, // timerRequestController прекращал работать, не заходил в функцию // TimerRequestControllerCallback(). private Timer timerUpdateGUI; const int periodTimerUpdateGUI = 67; TimerCallback dTimerUpdateGUICallback; // Делегат для типа Timer. void TimerUpdateGUICallback(object state) { Dispatcher.Invoke(dUpdateGUIMethod); } public delegate void UpdateGUI(); public UpdateGUI dUpdateGUIMethod; #endregion Настройки. public void UpdateGUIMethod() { #region Слои. UpdateGUI. layServiceUC.UpdateGUI(); layChatUC.UpdateGUI(); statusBarDeveloperUC.UpdateGUI(); #endregion Слои. UpdateGUI. } #endregion Таймер обновления GUI. #endregion Главное окно. } }