SettingControl.cs 3.5 KB
using CodeLibrary;
using ConfigHelper;
using DeviceLibrary;
using OnlineStore;
using OnlineStore.ACSingleStore;
using OnlineStore.Common;
using OnlineStore.LoadCSVLibrary;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace TheMachine
{
    public partial class SettingControl : UserControl
    {
        public SettingControl()
        {
            InitializeComponent();
            RobotManage.LoadFinishEvent += RobotManage_LoadFinishEvent;
            chbAutoRun.Checked =Setting_Init.App_AutoRun;
            this.chbAutoRun.CheckedChanged += new System.EventHandler(this.chbAutoRun_CheckedChanged);
            for (int i = 0; i < 20; i++)
            {
                cb_tempsensorport.Items.Add("COM" + i);
            }

            this.cb_tempsensorport.SelectedIndexChanged += new System.EventHandler(this.cb_tempsensorport_SelectedIndexChanged);
            crc.LanguageChangeEvent += Crc_LanguageChangeEvent;
        }

        private void Crc_LanguageChangeEvent(object sender, EventArgs e)
        {
            crc.LanguageProcess(this);
        }

        private void RobotManage_LoadFinishEvent(bool state, string msg)
        {
            if (!state)
                return;


            //uC_LedConfig1.Config = RobotManage.Config;
        }


        private void SettingControl_Load(object sender, EventArgs e)
        {
            Config.PropertyBind(Setting_Init.Device_Humiture_Port.Key, cb_tempsensorport, "SelectedItem", "SelectedIndexChanged");
        }


        public static void AutoRun(string strName, bool value)
        {
            try
            {
                //创建启动对象 
                System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
                //设置运行文件
                startInfo.FileName = System.Windows.Forms.Application.StartupPath + "\\AuToRunManager.exe";
                //设置启动参数 
                startInfo.Arguments = String.Join(" ", new string[2] { strName, value.ToString() });
                //设置启动动作,确保以管理员身份运行
                startInfo.Verb = "runas";
                //如果不是管理员,则启动UAC 
                System.Diagnostics.Process.Start(startInfo);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }

        private void chbAutoRun_CheckedChanged(object sender, EventArgs e)
        {
            Setting_Init.App_AutoRun = chbAutoRun.Checked;
            AutoRun(Application.ExecutablePath, Setting_Init.App_AutoRun);
        }

        private void cb_tempsensorport_SelectedIndexChanged(object sender, EventArgs e)
        {
            HumitureController.Init(Setting_Init.Device_Humiture_Port);
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            if (!Visible)
                return;

            lbl_hmdstate.Text =  crc.GetString("Res0187","当前状态:");
            if (!HumitureController.IsRun)
            {
                lbl_hmdstate.Text +=  crc.GetString("Res0188","未成功连接");
                return;
            }
            var t = HumitureController.LastData;
            lbl_hmdstate.Text +=  crc.GetString("Res0189","温度")+$"{t.Temperate}℃, "+crc.GetString("Res0190","湿度")+$"{t.Humidity}%";
        }

    }
}