using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApp { public partial class FrmSetPenName : Form { string EventName = string.Empty; string PenSerial = string.Empty; int onoff = 1; int once_valid = 0; int is_enable = 1; int is_contd = 1; public uint once_buzz_count; public delegate void btnSpeedChangeClickHandle(string name,string penserial, string speedStr,string speedType,int interval=0, int buzzcount=0,int onoff=0,int oncevalid=0); public event btnSpeedChangeClickHandle SpeedChangeClickEvent; public FrmSetPenName(string name,string penserial) { InitializeComponent(); EventName = name; PenSerial = penserial; } private void FrmSetPenName_Load(object sender, EventArgs e) { SetDouble(transparentTabControl1); transparentTabControl1.MakeTransparent(); transparentTabControl1.Visible = false; if (EventName == "SetPenName") { transparentTabControl1.SelectedIndex = 0; } else if (EventName == "SetPenLed"|| EventName == "SetPenLedTemporary") { if (EventName == "SetPenLed") { panel1.Visible = false; } radioFiring.Checked = true; radioYes.Checked = true; transparentTabControl1.SelectedIndex = 1; var list = new List(); list.Add(new LED_STATE { ID = "BLUE_LIGHT_ON", Name = "蓝灯常亮" }); list.Add(new LED_STATE { ID = "BLUE_LIGHT_FLASHING", Name = "蓝灯闪烁" }); list.Add(new LED_STATE { ID = "GREEN_LIGHT_ON", Name = "绿灯常亮" }); list.Add(new LED_STATE { ID = "GREEN_LIGHT_FLASHING", Name = "绿灯闪烁" }); list.Add(new LED_STATE { ID = "RED_LIGHT_ON", Name = "红灯常亮" }); list.Add(new LED_STATE { ID = "RED_LIGHT_FLASHING", Name = "红灯闪烁" }); list.Add(new LED_STATE { ID = "YELLOW_LIGHT_ON", Name = "黄灯常亮" }); list.Add(new LED_STATE { ID = "YELLOW_LIGHT_FLASHING", Name = "黄灯闪烁" }); list.Add(new LED_STATE { ID = "PINK_LIGHT_ON", Name = "粉红灯常亮" }); list.Add(new LED_STATE { ID = "PINK_LIGHT_FLASHING", Name = "粉红灯闪烁" }); list.Add(new LED_STATE { ID = "LIGHT_BLUE_LIGHT_ON", Name = "浅蓝灯常亮" }); list.Add(new LED_STATE { ID = "LIGHT_BLUE_LIGHT_FLASHING", Name = "浅蓝灯闪烁" }); list.Add(new LED_STATE { ID = "WHITE_LIGHT_ON", Name = "白灯常亮" }); list.Add(new LED_STATE { ID = "WHITE_LIGHT_FLASHING", Name = "白灯闪烁" }); cmbLamp.ValueMember = "ID"; cmbLamp.DisplayMember = "Name"; cmbLamp.DataSource = list; cmbLamp.SelectedIndex = 0; var listtype = new List(); listtype.Add(new LED_STATE { ID = "POWER_ON_LED", Name = "上电默认状态" }); listtype.Add(new LED_STATE { ID = "BLE_CONNECT_LED", Name = "蓝牙连接状态" }); listtype.Add(new LED_STATE { ID = "LOW_POWER_WARNING_LED", Name = "低电量警告状态" }); listtype.Add(new LED_STATE { ID = "CHARGING_LED", Name = "充电状态" }); listtype.Add(new LED_STATE { ID = "STORAGE_FULL_LED", Name = "存储满状态" }); cmbLedType.ValueMember = "ID"; cmbLedType.DisplayMember = "Name"; cmbLedType.DataSource = listtype; cmbLedType.SelectedIndex = 0; } //else if () { //} else if (EventName == "SetdownTime") { transparentTabControl1.SelectedIndex = 3; } else if (EventName == "SetPenBuzzer") { transparentTabControl1.SelectedIndex = 2; radioopen.Checked = true; radioalways.Checked = true; } } public void SetDouble(Control contorl) { contorl.GetType().GetProperty("DoubleBuffered", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic).SetValue(contorl, true, null); } private void btnSetName_Click(object sender, EventArgs e) { SpeedChangeClickEvent(EventName, PenSerial, txtSetName.Text.Trim(),""); this.Close(); } //设置指示灯 private void btnLamp_Click(object sender, EventArgs e) { SpeedChangeClickEvent(EventName, PenSerial, cmbLamp.SelectedValue.ToString(), cmbLedType.SelectedValue.ToString(), is_enable, is_contd, Convert.ToInt32(txtDuration.Text.Trim())); this.Close(); } private void button1_Click(object sender, EventArgs e) { SpeedChangeClickEvent(EventName, PenSerial, ShutdownTime.Text.Trim(), ""); this.Close(); } private void btnBuzz_Click(object sender, EventArgs e) { SpeedChangeClickEvent(EventName, PenSerial, txtBuzz.Text.Trim(), txtBuzzTime.Text.Trim(),Convert.ToInt32(txtBuzzinTerval.Text.Trim()),Convert.ToInt32(txtBuzzCount.Text.Trim()),onoff, once_valid); this.Close(); } private void on_off(object sender, EventArgs e) { //把object类型,赋值为当前按下的控件 RadioButton radioButtonClick = sender as RadioButton; if (radioButtonClick.Checked) { switch (radioButtonClick.Name) { case "radioopen": onoff=1; break; case "radioclose": onoff=0; break; } } } private void lifespanClick(object sender, EventArgs e) { //把object类型,赋值为当前按下的控件 RadioButton radioButtonClick = sender as RadioButton; if (radioButtonClick.Checked) { switch (radioButtonClick.Name) { case "radioalways": once_valid = 0; break; case "radioonce": once_valid = 1; break; } } } private void firing_stop_click(object sender, EventArgs e) { //把object类型,赋值为当前按下的控件 RadioButton radioButtonClick = sender as RadioButton; if (radioButtonClick.Checked) { switch (radioButtonClick.Name) { case "radioFiring": is_enable = 1; break; case "radioStop": is_enable = 0; break; } } } private void Yes_No_click(object sender, EventArgs e) { //把object类型,赋值为当前按下的控件 RadioButton radioButtonClick = sender as RadioButton; if (radioButtonClick.Checked) { switch (radioButtonClick.Name) { case "radioYes": is_contd = 1; break; case "radioNo": is_contd = 0; break; } } } } public class LED_STATE { public string ID { get; set; } public string Name { get; set; } } }