private void MainForm_Load(object sender, EventArgs e) { #region 畫面加入 navigationFrame = new NavigationFrame() { Dock = DockStyle.Fill, Parent = panelControl1 }; //切換畫面動畫 NoneView noneView = new NoneView() { Dock = DockStyle.Fill }; field4UserControls.Add(noneView); navigationFrame.AddPage(noneView); ProjectCreateView projectCreateView = new ProjectCreateView() { Dock = DockStyle.Fill }; field4UserControls.Add(projectCreateView); navigationFrame.AddPage(projectCreateView); #endregion }
private void MainForm_Load(object sender, EventArgs e) { this.Location = new Point(500, 150);//視窗起始位置 navigationFrame = new NavigationFrame() { Dock = DockStyle.Fill, Parent = MainpanelControl }; //切換畫面動畫 #region 顯示畫面 LoginView screenView = new LoginView() { Dock = DockStyle.Fill, mainForm = this }; field4UserControls.Add(screenView); navigationFrame.AddPage(screenView); SettingView settingView = new SettingView() { Dock = DockStyle.Fill }; field4UserControls.Add(settingView); navigationFrame.AddPage(settingView); #endregion }
public Form1() { #region Serilog initial Log.Logger = new LoggerConfiguration() .WriteTo.Console() .WriteTo.File($"{AppDomain.CurrentDomain.BaseDirectory}\\log\\log-.txt", rollingInterval: RollingInterval.Day, outputTemplate: "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level:u3}] {Message:lj}{NewLine}{Exception}") .CreateLogger(); //宣告Serilog初始化 #endregion #region Loading initial FluentSplashScreenOptions op = new FluentSplashScreenOptions(); op.Title = "太陽能資料蒐集系統";//太陽能資料蒐集系統 帆宣自動化抄表系統 op.Subtitle = "Automatic Meter Reading System"; op.LeftFooter = "Copyright © 2021 SIN MAO Energy CO., LTD." + Environment.NewLine + "All Rights reserved."; op.LoadingIndicatorType = FluentLoadingIndicatorType.Dots; op.OpacityColor = Color.FromArgb(62, 91, 135); op.Opacity = 130; SplashScreenManager.ShowFluentSplashScreen( op, parentForm: this, useFadeIn: true, useFadeOut: true ); #endregion #region 入資料庫JSON op.RightFooter = $"載入資料庫資訊"; SplashScreenManager.Default.SendCommand(FluentSplashScreenCommand.UpdateOptions, op); SystemSetting = InitialMethod.SystemLoad(); Thread.Sleep(1000); #endregion #region 入按鈕JSON op.RightFooter = $"載入按鈕資訊"; SplashScreenManager.Default.SendCommand(FluentSplashScreenCommand.UpdateOptions, op); ButtonSetting = InitialMethod.InitialButtonLoad(); Thread.Sleep(1000); #endregion #region 入匯出報表JSON op.RightFooter = $"載入匯出報表資訊"; SplashScreenManager.Default.SendCommand(FluentSplashScreenCommand.UpdateOptions, op); XtraReportSetting = InitialMethod.InitialXtraReportLoad(); Thread.Sleep(1000); #endregion #region JSON錯誤資訊檢查 if (SystemSetting == null && ButtonSetting == null && XtraReportSetting == null) { ErrorStr = "資料庫與按鈕Json錯誤"; } else if (SystemSetting != null && ButtonSetting == null && XtraReportSetting != null) { ErrorStr = "按鈕Json錯誤"; } else if (SystemSetting == null && ButtonSetting != null && XtraReportSetting != null) { ErrorStr = "資料庫Json錯誤"; } else if (SystemSetting != null && ButtonSetting != null && XtraReportSetting == null) { ErrorStr = "匯出報表Json錯誤"; } if (ErrorStr == "") { op.RightFooter = $"載入完成"; SplashScreenManager.Default.SendCommand(FluentSplashScreenCommand.UpdateOptions, op); Thread.Sleep(1000); SplashScreenManager.CloseForm(); } else { op.RightFooter = $"{ErrorStr}"; SplashScreenManager.Default.SendCommand(FluentSplashScreenCommand.UpdateOptions, op); Thread.Sleep(5000); SplashScreenManager.CloseForm(); } #endregion InitializeComponent(); if (ErrorStr == "") { Change_Logo(); //載入Logo SettingbarButtonItem.ImageOptions.Image = imageCollection1.Images["technology"]; //設定按鈕圖 #region 建立資料庫物件 MysqlMethod = new MysqlMethod(SystemSetting); if (SystemSetting != null) { GatewayConfigs = MysqlMethod.Search_GatewayConfig(); } #endregion #region 建立通訊 if (GatewayConfigs != null) { foreach (var item in GatewayConfigs) { GatewayTypeEnum gatewayType = (GatewayTypeEnum)item.GatewayTypeEnum; switch (gatewayType) { case GatewayTypeEnum.ModbusRTU: { SerialportMasterComponent serialport = new SerialportMasterComponent(item, MysqlMethod) { MysqlMethod = MysqlMethod }; serialport.MyWorkState = true; Field4Components.Add(serialport); } break; case GatewayTypeEnum.ModbusTCP: { TCPMasterComponent TCP = new TCPMasterComponent(item, MysqlMethod) { MysqlMethod = MysqlMethod }; TCP.MyWorkState = true; Field4Components.Add(TCP); } break; } } } #endregion #region 建立按鈕物件 NavigationFrame = new NavigationFrame() { Dock = DockStyle.Fill }; NavigationFrame.Parent = ViewpanelControl; ButtonMethod = new ButtonMethod() { Form1 = this, navigationFrame = NavigationFrame }; ButtonMethod.AccordionLoad(accordionControl1, ButtonSetting); #endregion #region 建立畫面 foreach (var Componentitem in Field4Components) { foreach (var Absprotocolitem in Componentitem.ElectricAbsProtocols) { ElectricAbsProtocols.Add(Absprotocolitem); } } #region 主畫面 MainUserControl main = new MainUserControl(MysqlMethod, ElectricAbsProtocols) { Dock = DockStyle.Fill }; NavigationFrame.AddPage(main); Field4UserControls.Add(main); #endregion #region 報表畫面 ChartUserControl chart = new ChartUserControl(MysqlMethod) { Dock = DockStyle.Fill }; NavigationFrame.AddPage(chart); Field4UserControls.Add(chart); #endregion #region 月報表畫面 xtraReportUserControl = new XtraReportUserControl(MysqlMethod) { Dock = DockStyle.Fill }; NavigationFrame.AddPage(xtraReportUserControl); #endregion #endregion } timer1.Interval = 1000; timer1.Enabled = true; }
public Form1() { InitializeComponent(); Log.Logger = new LoggerConfiguration() .WriteTo.Console() .WriteTo.File($"{AppDomain.CurrentDomain.BaseDirectory}\\log\\log-.txt", rollingInterval: RollingInterval.Day, outputTemplate: "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level:u3}] {Message:lj}{NewLine}{Exception}") .CreateLogger(); //宣告Serilog初始化 UserbarButtonItem.ImageOptions.Image = imageCollection16x16.Images["UserDisconnected"]; SettingbarButtonItem.ImageOptions.Image = imageCollection16x16.Images["Setting"]; SettingbarButtonItem.Visibility = BarItemVisibility.Never; #region Json載入 ButtonSetting = InitialMethod.ButtonLoad(); LogoSetting = InitialMethod.LogoLoad(); SqlDBSetting = InitialMethod.SqlDBLoad(); BankAccountSetting = InitialMethod.BankAccountLoad(); DemoSetting = InitialMethod.DemoLoad(); #endregion ConnectionFlag = DemoSetting.ConnectionFlag; #region 入Logo圖片 if (LogoSetting != null) { if (File.Exists(LogoSetting.LogoPath)) { LogopictureEdit.Image = Image.FromFile(LogoSetting.LogoPath); } else { LogopictureEdit.Image = LogoimageCollection.Images["ewatch_logo"]; } } else { LogopictureEdit.Image = LogoimageCollection.Images["ewatch_logo"]; } #endregion #region 鈕載入 NavigationFrame = new NavigationFrame() { Dock = DockStyle.Fill }; NavigationFrame.Parent = DisplaypanelControl; ButtonControl = new ButtonControl() { Form1 = this, navigationFrame = NavigationFrame }; ButtonControl.AccordionLoad(accordionControl1, ButtonSetting); #endregion #region 資料庫方法載入 if (SqlDBSetting != null && ConnectionFlag) { SqlMethod = new SqlMethod() { setting = SqlDBSetting, BankAccountSetting = BankAccountSetting }; SqlMethod.SQLConnect(); if (SqlMethod.Search_DataBase()) { SQLDataBaseFlag = true; GatewayConfigs = SqlMethod.Search_GatewayConfig(); //通道資訊 ElectricConfigs = SqlMethod.Search_Electricconfig(); //電表設備資訊 SqlComponent = new SqlComponent() { SqlMethod = SqlMethod, BankAccountSetting = BankAccountSetting }; SqlComponent.MyWorkState = ConnectionFlag; } else { SQLDataBaseFlag = false; } } else if (!ConnectionFlag) { SQLDataBaseFlag = true; GatewayConfig gateway = new GatewayConfig() { GatewayIndex = 0, GatewayName = "通道1" }; GatewayConfigs.Add(gateway); for (int i = 0; i < 20; i++) { if (i == 0) { ElectricConfig electric = new ElectricConfig() { TotalMeterFlag = true, DeviceName = $"電表{i + 1}", GatewayIndex = 0, DeviceIndex = i, DeviceID = i + 1 }; ElectricConfigs.Add(electric); } else { ElectricConfig electric = new ElectricConfig() { TotalMeterFlag = false, DeviceName = $"電表{i + 1}", GatewayIndex = 0, DeviceIndex = i, DeviceID = i + 1 }; ElectricConfigs.Add(electric); } } } #endregion #region 通訊 if (ConnectionFlag && GatewayConfigs != null && ElectricConfigs != null) { foreach (var item in GatewayConfigs) { GatewayEnumType = (GatewayEnumType)item.GatewayEnumType; var electricconfigs = ElectricConfigs.Where(g => g.GatewayIndex == item.GatewayIndex).ToList(); switch (GatewayEnumType) { case GatewayEnumType.ModbusRTU: { SerialportComponent component = new SerialportComponent() { BankAccountSetting = BankAccountSetting, Gatewayconfig = item, ElectricConfigs = electricconfigs }; component.MyWorkState = ConnectionFlag; ModbusComponents.Add(component); } break; case GatewayEnumType.ModbusTCP: { TcpComponent component = new TcpComponent() { BankAccountSetting = BankAccountSetting, Gatewayconfig = item, ElectricConfigs = electricconfigs }; component.MyWorkState = ConnectionFlag; ModbusComponents.Add(component); } break; } } } #endregion #region 畫面 foreach (var item in ButtonSetting.ButtonGroupSettings) { foreach (var Buttonitem in item.ButtonItemSettings) { ButtonItemEnumType = (ButtonItemEnumType)Buttonitem.ButtonItemEnumType; switch (ButtonItemEnumType) { case ButtonItemEnumType.Home: { ChargingPileView chargingPileView = new ChargingPileView(ElectricConfigs, SqlMethod, this, GatewayConfigs) { SqlMethod = SqlMethod, Dock = DockStyle.Fill }; field4UserControls.Add(chargingPileView); NavigationFrame.AddPage(chargingPileView); } break; case ButtonItemEnumType.Report: { dataReportUserControl = new DataReportUserControl(ElectricConfigs) { SqlMethod = SqlMethod, Dock = DockStyle.Fill, Form1 = this }; NavigationFrame.AddPage(dataReportUserControl); } break; case ButtonItemEnumType.BillingSheet: { billingSheetUserControl = new BillingSheetUserControl(ElectricConfigs) { BankaccountSetting = BankAccountSetting, SqlMethod = SqlMethod, Dock = DockStyle.Fill, Form1 = this }; NavigationFrame.AddPage(billingSheetUserControl); } break; } } } User_ButtonItem_Visible(); #endregion timer1.Interval = 1000; timer1.Enabled = true; }
public Form1() { Log.Logger = new LoggerConfiguration() .WriteTo.Console() .WriteTo.File($"{AppDomain.CurrentDomain.BaseDirectory}\\log\\log-.txt", rollingInterval: RollingInterval.Day, outputTemplate: "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level:u3}] {Message:lj}{NewLine}{Exception}") .CreateLogger(); //宣告Serilog初始化 MySqlSetting = InitialMethod.MySqlLoad(); ButtonSetting = InitialMethod.InitialButtonLoad(); InitializeComponent(); NavigationFrame = new NavigationFrame() { Dock = DockStyle.Fill }; NavigationFrame.Parent = DisPlaypanelControl; ButtonMethod = new ButtonMethod() { Form1 = this, navigationFrame = NavigationFrame }; ButtonMethod.AccordionLoad(accordionControl1, ButtonSetting); #region Ewatch平台 Ewatch_MySqlMethod = new Ewatch_MySqlMethod(MySqlSetting); Ewatch_MySqlComponent = new Ewatch_MySqlComponent(Ewatch_MySqlMethod); Ewatch_MySqlComponent.MyWorkState = true; Ewatch_Field4Component.Add(Ewatch_MySqlComponent); Ewatch_AlarmComponent = new Ewatch_AlarmComponent(Ewatch_MySqlMethod); Ewatch_AlarmComponent.MyWorkState = true; Ewatch_Field4Component.Add(Ewatch_AlarmComponent); EwatchConnectionUserControl ewatchConnectionUserControl = new EwatchConnectionUserControl(Ewatch_MySqlComponent) { Dock = DockStyle.Fill }; NavigationFrame.AddPage(ewatchConnectionUserControl); Ewatch_Field4UserControl.Add(ewatchConnectionUserControl); CaseUserControl caseUserControl = new CaseUserControl(Ewatch_MySqlMethod) { Form1 = this, Dock = DockStyle.Fill }; NavigationFrame.AddPage(caseUserControl); Ewatch_Field4UserControl.Add(caseUserControl); AiSettingUserControl aiSettingUserControl = new AiSettingUserControl(Ewatch_MySqlMethod) { Form1 = this, Dock = DockStyle.Fill }; NavigationFrame.AddPage(aiSettingUserControl); Ewatch_Field4UserControl.Add(aiSettingUserControl); AiConfigUserControl aiConfigUserControl = new AiConfigUserControl(Ewatch_MySqlMethod) { Form1 = this, Dock = DockStyle.Fill }; NavigationFrame.AddPage(aiConfigUserControl); Ewatch_Field4UserControl.Add(aiConfigUserControl); ElectricSettingUserControl electricSettingUserControl = new ElectricSettingUserControl(Ewatch_MySqlMethod) { Form1 = this, Dock = DockStyle.Fill }; NavigationFrame.AddPage(electricSettingUserControl); Ewatch_Field4UserControl.Add(electricSettingUserControl); StateSettingUserControl stateSettingUserControl = new StateSettingUserControl(Ewatch_MySqlMethod) { Form1 = this, Dock = DockStyle.Fill }; NavigationFrame.AddPage(stateSettingUserControl); Ewatch_Field4UserControl.Add(stateSettingUserControl); #endregion #region ChungHsin平台 ChungHsin_MySqlMethod = new ChungHsin_MySqlMethod(MySqlSetting); ChungHsin_MySqlComponent = new ChungHsin_MySqlComponent(ChungHsin_MySqlMethod); ChungHsin_MySqlComponent.MyWorkState = true; ChungHsin_Field4Component.Add(ChungHsin_MySqlComponent); ChumgHsinConnectionUserControl chumgHsinConnectionUserControl = new ChumgHsinConnectionUserControl(ChungHsin_MySqlComponent) { Dock = DockStyle.Fill }; NavigationFrame.AddPage(chumgHsinConnectionUserControl); ChungHsin_Field4UserControl.Add(chumgHsinConnectionUserControl); DeviceConfigUserControl deviceConfigUserControl = new DeviceConfigUserControl(ChungHsin_MySqlMethod) { Dock = DockStyle.Fill }; NavigationFrame.AddPage(deviceConfigUserControl); ChungHsin_Field4UserControl.Add(deviceConfigUserControl); CH_CaseSettingUserControl cH_CaseSettingUserControl = new CH_CaseSettingUserControl(ChungHsin_MySqlMethod) { Dock = DockStyle.Fill }; NavigationFrame.AddPage(cH_CaseSettingUserControl); ChungHsin_Field4UserControl.Add(cH_CaseSettingUserControl); ReceiveSettingUserControl receiveSettingUserControl = new ReceiveSettingUserControl(ChungHsin_MySqlMethod) { Dock = DockStyle.Fill }; NavigationFrame.AddPage(receiveSettingUserControl); ChungHsin_Field4UserControl.Add(receiveSettingUserControl); #endregion timer1.Interval = 1000; timer1.Enabled = true; }