You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

882 lines
32 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using BarTenderPrint;
using KeyBord;
using Mesnac.Codd.Session;
using Mesnac.Compressor.Data;
using Mesnac.HighWay.ATC.Common;
using Mesnac.HighWay.ATC.SqlSugar;
using Mesnac.HighWay.ATC.SqlSugar.serviceImpl;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Timers;
using System.Windows.Forms;
using Mesnac.Compressor.Entity;
using static FrmPrint.Login;
using static log4net.Appender.RollingFileAppender;
using static System.Windows.Forms.VisualStyles.VisualStyleElement;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.Button;
using System.Collections;
namespace FrmPrint
{
public partial class Form1 : Form
{
protected DbHandler db = new DbHandler();
DbHelper dbHelper = null;
SerialEquip Com;
string Port = System.Configuration.ConfigurationManager.AppSettings["Com"];
public delegate void Transit(string data);
PrintManager printManager = new PrintManager();
public string UserName = "用户名";
private int timeInvel =int.Parse(System.Configuration.ConfigurationManager.AppSettings["LogOutTime"])*1000;
private static INIFile iNIFile = new INIFile(System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase + "App.InI");
private List<TBDProductInfo> productInfos;
List<string> listOnit = new List<string>();
public Form1()
{
InitializeComponent();
if (!timer1.Enabled)
{
timer1.Interval = timeInvel;
timer1.Enabled = true;
}
CheckForIllegalCrossThreadCalls = false;
printManager.RefreshShowMessageEvent += ShowMessage;
BindClass();
//bindMachine();
getMachine();
//initUsbScanBarCode();
InitPort();
}
private void SetRadiobutton()
{
try
{
radioButton1.ForeColor = Color.FromArgb(106, 203, 254);
radioButton2.ForeColor = Color.FromArgb(106, 203, 254);
//radioButton1.BackColor = Color.FromArgb(3, 27, 61);
//radioButton2.BackColor = Color.FromArgb(3, 27, 61);
}
catch (Exception ex)
{
}
}
private void Form1_Load(object sender, EventArgs e)
{
this.WindowState = FormWindowState.Maximized;
cb_machine.DropDownStyle = ComboBoxStyle.DropDown;
if (iNIFile.IniReadValue("SystemConfig", "UserName") != "用户名")
{
iNIFile.IniWriteValue("SystemConfig", "UserName", "用户名");
}
if (iNIFile.IniReadValue("SystemConfig", "PrintState") != "2")
{
iNIFile.IniWriteValue("SystemConfig", "PrintState", "2");
}
//listener.Start();
//加载默认时间
lb_UserName.Text = UserName;
lb_UserName.ForeColor = Color.Red;
LoadTime();
//timer1.Enabled = true;
}
public void ShowMessage(string strMessage)
{
try
{
if (this.lst_OperInfo.Items.Count > 100)
{
this.lst_OperInfo.Items.Clear();
}
bool scroll = false;
if (this.lst_OperInfo.TopIndex == this.lst_OperInfo.Items.Count - (int)(this.lst_OperInfo.Height / this.lst_OperInfo.ItemHeight))
scroll = true;
this.lst_OperInfo.Items.Add(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + strMessage);
if (scroll)
this.lst_OperInfo.TopIndex = this.lst_OperInfo.Items.Count - (int)(this.lst_OperInfo.Height / this.lst_OperInfo.ItemHeight);
string tempstr = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + ": " + strMessage + "\r\n";
}
catch (Exception ex)
{
LogHelper.Error("空间名:" + ex.Source + "" + '\n' +
"方法名:" + ex.TargetSite + '\n' +
"故障点:" + ex.StackTrace.Substring(ex.StackTrace.LastIndexOf("\\") + 1, ex.StackTrace.Length - ex.StackTrace.LastIndexOf("\\") - 1) + '\n' +
"错误提示:" + ex.Message);
}
}
public void InitPort()
{
Com = new SerialEquip(Port);
Com.OpenCom(null);
Com.SerialData += Receive;
}
public void Receive(string Data)
{
try
{
ShowMessage(" "+ Data+"条码扫描成功!");
LogHelper.Info(Data + "条码扫描成功!");
//Thread.Sleep(5000);
PrintPrepare(Data.Trim());
}
catch(Exception ex)
{
LogHelper.Error("空间名:" + ex.Source + "" + '\n' +
"方法名:" + ex.TargetSite + '\n' +
"故障点:" + ex.StackTrace.Substring(ex.StackTrace.LastIndexOf("\\") + 1, ex.StackTrace.Length - ex.StackTrace.LastIndexOf("\\") - 1) + '\n' +
"错误提示:" + ex.Message);
}
}
private async void PrintPrepare(string Data)
{
if (string.IsNullOrEmpty(Data))
{
ShowMessage("请确认条码是否正确!");
return;
}
if (Data.Length != 20)
{
ShowMessage("请确认条码是否正确!");
return;
}
//提示换班
//var date = DateTime.Now;
//DateTime dt1 = DateTime.Parse(time2.Text + " "+ time4.Text);
//DateTime dt2 = DateTime.Parse(time1.Text + " " + time3.Text);
if (cb_machine.Text == "")
{
ShowMessage("请选择机种!");
return;
}
//if (date >= dt1)
//{
// if (radioButton1.Checked)
// {
// ShowMessage("请切换班次!白班(08:00-20:00)夜班(20:00-08:00)");
// return;
// }
//}
//else
//{
// if (date < dt2 && date >= dt1)
// {
// if (radioButton2.Checked)
// {
// ShowMessage("请切换班次!白班(08:00-20:00)夜班(20:00-08:00)");
// return;
// }
// }
//}
Reresh(Data.Replace("\r", ""));
if (iNIFile.IniReadValue("SystemConfig", "PrintState") == "1")
{
ShowMessage("上一个铭牌正在打印中,等待打印完成重新扫码...");
return;
}
#region 打印代码暂时屏蔽
//根据条码查询是否到当前工位
//ShowMessage("正在查询产品是否到达条码打印工位...");
//bool iFlag = await SelectPrintStation(Data.Replace("\r", ""));
//if (!iFlag)
//{
// return;
//}
//else
//{
// ShowMessage("查询产品结果合格!");
//}
//ShowMessage("正在查询产品结果是否合格...");
//查询结果是否合格
Print pt = new Print();
pt.barcode = Data;
//查询当前机种信息
List<TBDProductInfo> TBDProductInfo = await geTbdProductInfos(cb_machine.Text);
pt.Machine =int.Parse(TBDProductInfo[0].ProductID);
if (radioButton1.Checked)
{
pt.Shift = "A";
}
else
{
pt.Shift = "B";
}
pt.starttime = time1.Text + " " + time3.Text;
pt.endtime = time2.Text + " " + time4.Text;
if (iNIFile.IniReadValue("SystemConfig", "UserName") != "管理员")
{
LogHelper.Info("查询" + Data + "产品序列号是否存在相同记录!");
var iflag = await SelectSameBarCode(pt.barcode, pt.Shift, pt.Machine.ToString(), pt.starttime,
pt.endtime);
if (!iflag)
{
return;
}
else
{
//先根据班次时间查询最大序列号,如果不存在则从0001生成
List<baseBarcodePrintInfo> baseBarcodePrintInfo = await printManager.SelectPrintInfoAsync("",pt.Shift, pt.Machine.ToString(), pt.starttime, pt.endtime);
if (baseBarcodePrintInfo != null && baseBarcodePrintInfo.Count > 0)
{
//查询最大序列号生成
var max = baseBarcodePrintInfo.Max(x => x.SerialNo);
ShowMessage("查询当前最大序列号" + max);
pt.Serialnum = Convert.ToInt32(Convert.ToInt32(max.Substring(max.Length - 4, 4)) + 1).ToString().PadLeft(4, '0');
ShowMessage("生成新序列号" + pt.Serialnum);
}
else
{
//序列号0001
pt.Serialnum = "0001";
ShowMessage("生成新序列号" + pt.Serialnum);
}
}
}
//管理员补码
else
{
ShowMessage("补码功能开启,查询到当前用户名管理员");
List<baseBarcodePrintInfo> baseBarcodePrintInfo =await printManager.SelectPrintInfoAsync("", pt.Shift, pt.Machine.ToString(), pt.starttime,
pt.endtime);
if (baseBarcodePrintInfo != null && baseBarcodePrintInfo.Count > 0)
{
//查询最大序列号生成
var max = baseBarcodePrintInfo.Max(x => x.SerialNo);
ShowMessage("查询当前最大序列号" + max);
pt.Serialnum = Convert.ToInt32(Convert.ToInt32(max.Substring(max.Length - 4, 4)) + 1).ToString().PadLeft(4, '0');
pt.isRestart = 1;
ShowMessage("生成新序列号" + pt.Serialnum);
}
else
{
//序列号0001
pt.Serialnum = "0001";
pt.isRestart = 1;
ShowMessage("生成新序列号" + pt.Serialnum);
}
}
//Print(pt);
ThreadPool.QueueUserWorkItem(p =>
{
Print(pt, TBDProductInfo);
});
//ThreadPool.QueueUserWorkItem(new WaitCallback(Print), pt, baseBarcodePrintInfo);
#endregion
}
private async Task<bool> SelectPrintStation(string ProductBarcode)
{
bool iFlag = false;
try
{
Expression<Func<TSYTraceState, bool>> exp = s1 => true;
exp = exp.And(s1 => s1.ProductBarcode == ProductBarcode);
Expression<Func<TSYTraceState, object>> order = (x) => x.BeginTime;
List<TSYTraceState> MaterialInfoList = await new BaseServices<TSYTraceState>().Query(exp, order, true);
if (MaterialInfoList != null && MaterialInfoList.Count > 0)
{
var TSYTraceState = MaterialInfoList.OrderByDescending(x => x.BeginTime).FirstOrDefault();
if (TSYTraceState.CurrentStationID == "33")
{
iFlag = true;
return iFlag;
}
else
{
ShowMessage(ProductBarcode + "上工位未完成,查询产品未到达条码打印工位!");
iFlag = false;
return iFlag;
}
}
else
{
ShowMessage(ProductBarcode + "上工位未完成,查询产品未到达条码打印工位!");
iFlag = false;
return iFlag;
}
}
catch (Exception ex)
{
return iFlag;
}
}
public async Task<bool> SelectBYStationAsync(string ProductBarcode)
{
bool bflag = false;
try
{
Expression<Func<TRPStationParaB160, bool>> exp = s1 => true;
exp = exp.And(s1 => s1.ScanBarcode == ProductBarcode);
List<TRPStationParaB160> MaterialInfoList = await new BaseServices<TRPStationParaB160>().Query(exp);
if (MaterialInfoList != null && MaterialInfoList.Count > 0)
{
bflag = true;
}
else
{
ShowMessage(ProductBarcode + "上工位未完成!");
bflag = false;
}
return bflag;
}
catch (Exception ex)
{
return bflag;
}
}
/// <summary>
/// 查询工位合格信息
/// </summary>
/// <param name="SemiBarCode"></param>
/// <returns></returns>
public bool GetStationNGBySemiBarCode(string ProductBarcode)
{
bool iFlag = false;
try
{
List<StationQualityInfo> selectAllStation = SaveBarCode(ProductBarcode);
if (selectAllStation != null || selectAllStation.Count > 0)
{
for (int i = 0; i < selectAllStation.Count; i++)
{
if (selectAllStation[i].TableName == "T_RP_StationPara_B130_1" && selectAllStation[i].State =="1")
{
selectAllStation.RemoveAll(x => x.TableName == "T_RP_StationPara_B130_2");
}
else if(selectAllStation[i].TableName == "T_RP_StationPara_B130_2" && selectAllStation[i].State == "1")
{
selectAllStation.RemoveAll(x => x.TableName == "T_RP_StationPara_B130_1");
}
if (selectAllStation[i].State == "2" || selectAllStation[i].State == "")
{
iFlag = false;
ShowMessage(selectAllStation[i].StationName + "数据NG");
return iFlag;
}
}
//selectAllStation = selectAllStation.FindAll(x => x.State == "2");
}
return iFlag;
}
catch (Exception ex)
{
return iFlag;
}
}
public List<StationQualityInfo> SaveBarCode(string P_Bar_Code)
{
List<StationQualityInfo> stationQualityList = null;
try
{
SugarParameter[] pars = new BaseServices<StationQualityInfo>().GetParameters(new { BarCode = P_Bar_Code });
var dt2 = new BaseServices<StationQualityInfo>().UseStoredProcedure("pro_AllProductionQualityInfocopy ", pars);
if (dt2 != null && dt2.Rows.Count > 0)
{
stationQualityList = new List<StationQualityInfo>();
StationQualityInfo stationQualityInfo = null;
foreach (DataRow row in dt2.Rows)
{
stationQualityInfo = new StationQualityInfo();
stationQualityInfo.StationName = RowValue(row, "StationName", String.Empty);
stationQualityInfo.TableName = RowValue(row, "TableName", String.Empty);
stationQualityInfo.State = RowValue(row, "State", String.Empty);
stationQualityList.Add(stationQualityInfo);
}
}
return stationQualityList;
}
catch (Exception ex)
{
LogHelper.Error("空间名:" + ex.Source + "" + '\n' +
"方法名:" + ex.TargetSite + '\n' +
"故障点:" + ex.StackTrace.Substring(ex.StackTrace.LastIndexOf("\\") + 1, ex.StackTrace.Length - ex.StackTrace.LastIndexOf("\\") - 1) + '\n' +
"错误提示:" + ex.Message);
return stationQualityList;
}
}
public static string RowValue(DataRow dr, string field, string defaultValue)
{
if (dr.Table.Columns.Contains(field))
{
if (dr[field] != null && dr[field] != DBNull.Value)
{
return dr[field].ToString().Trim();
}
}
else
{
ICSharpCode.Core.LoggingService.Error("DataTable中不存在[" + field + "]列!");
}
return defaultValue;
}
/// <summary>
/// 更新barcode
/// </summary>
/// <param name="barcode"></param>
private void Reresh(string barcode)
{
if (this.InvokeRequired)
{
this.Invoke(new Transit(Reresh), barcode);
return;
}
this.txt_barcode.Text = barcode.ToString();
}
private async Task getMachine()
{
try
{
productInfos = await geTbdProductInfos("");
foreach (var item in productInfos)//数据库中获取的原始数据
{
listOnit.Add(item.ProductName);//第一列是名称
}
this.cb_machine.Items.AddRange(listOnit.ToArray());
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
}
/// <summary>
/// 机种绑定
/// </summary>
private void bindMachine()
{
try
{
cb_machine.DisplayMember = "ProductName";
cb_machine.ValueMember = "ProductID";
cb_machine.DataSource = GetProductList("");
}
catch
{
MessageBox.Show("机种绑定失败");
}
}
private async Task<List<TBDProductInfo>> geTbdProductInfos(string ProductName)
{
try
{
Expression<Func<TBDProductInfo, bool>> exp = (TBDProductInfo s1) => true;
if (ProductName == "")
{
exp = exp.And((TBDProductInfo s1) => s1.ProductName != "");
}
else
{
exp = exp.And((TBDProductInfo s1) => s1.ProductName == ProductName);
}
productInfos = await new BaseServices<TBDProductInfo>().Query(exp);
return productInfos;
}
catch (Exception ex)
{
Console.WriteLine(ex);
return null;
}
}
public DataTable GetProductList(string ProductID)
{
DataTable result = null;
try
{
Expression<Func<TBDProductInfo, bool>> exp = (TBDProductInfo s1) => true;
if (ProductID == "")
{
exp = exp.And((TBDProductInfo s1) => s1.ProductID != "");
}
else
{
exp = exp.And((TBDProductInfo s1) => s1.ProductID == ProductID);
}
result = new BaseServices<TBDProductInfo>().QueryDatatable(exp);
return result;
}
catch (Exception ex)
{
LogHelper.Error("空间名:" + ex.Source + "" + '\n' +
"方法名:" + ex.TargetSite + '\n' +
"故障点:" + ex.StackTrace.Substring(ex.StackTrace.LastIndexOf("\\") + 1, ex.StackTrace.Length - ex.StackTrace.LastIndexOf("\\") - 1) + '\n' +
"错误提示:" + ex.Message);
return result;
}
}
private void Print(object print, List<TBDProductInfo> baseBarcodePrintInfo)
{
lock (string.Empty)
{
//判断前工位是否全部合格
var pt = print as Print;
if(pt==null)
{
return;
}
iNIFile.IniWriteValue("SystemConfig", "PrintState", "1");
printManager.Print(pt, baseBarcodePrintInfo);
}
}
private async Task<bool> SelectSameBarCode(String BarCode, string ShiftID, string ProductID, string starttime, string endtime)
{
bool iflag = false;
try
{
List<baseBarcodePrintInfo> baseBarcodePrintInfos = await printManager.SelectPrintInfoAsync(BarCode, ShiftID, ProductID.ToString(), starttime, endtime);
if (baseBarcodePrintInfos != null && baseBarcodePrintInfos.Count > 0)
{
foreach (var item in baseBarcodePrintInfos)
{
ShowMessage("查询" + BarCode + "存在历史记录,序列号:" + item.SerialNo);
LogHelper.Info("查询" + BarCode + "存在历史记录,序列号:" + item.SerialNo);
return false;
}
}
else
{
iflag = true;
}
return iflag;
}
catch (Exception ex)
{
LogHelper.Error("空间名:" + ex.Source + "" + '\n' +
"方法名:" + ex.TargetSite + '\n' +
"故障点:" + ex.StackTrace.Substring(ex.StackTrace.LastIndexOf("\\") + 1, ex.StackTrace.Length - ex.StackTrace.LastIndexOf("\\") - 1) + '\n' +
"错误提示:" + ex.Message);
return iflag;
}
}
public void BindClass()
{
DataTable dt = new DataTable();
dt.Columns.Add("key", typeof(string));
dt.Columns.Add("value", typeof(string));
DataRow dr = dt.NewRow();
dr[0] = "01";
dr[1] = "早班";
dt.Rows.Add(dr);
DataRow dr2 = dt.NewRow();
dr2[0] = "02";
dr2[1] = "中班";
dt.Rows.Add(dr2);
DataRow dr3 = dt.NewRow();
dr3[0] = "03";
dr3[1] = "晚班";
dt.Rows.Add(dr3);
this.cb_shift.DataSource = dt;
this.cb_shift.DisplayMember = "value";
this.cb_shift.ValueMember = "key";
}
private string getShift(string shift)
{
string shiftA = "A";
switch (shift)
{
case "01":
shiftA = "A";
break;
case "02":
shiftA = "B";
break;
case "03":
shiftA = "C";
break;
default:
break;
}
return shiftA;
}
private string getDateString(string semiBarcode)
{
string datestring = "20";
if (string.IsNullOrEmpty(semiBarcode))
{
datestring = DateTime.Now.ToString();
}
else
{
string year = semiBarcode.Substring(1, 2);
string month = semiBarcode.Substring(3, 2);
string date = semiBarcode.Substring(5, 2);
datestring += year + "-" + month + "-" + date;
}
return datestring;
}
private void btn_close_Click(object sender, EventArgs e)
{
this.Com.Comm.Close();
this.Close();
}
private void btn_print_Click(object sender, EventArgs e)
{
//密码权限
Login login = new Login(this);
login.ChangeText += new ChangeTextHandler(Change_Text);
login.ShowDialog();
}
private void Change_Text(string str)
{
if (iNIFile.IniReadValue("SystemConfig", "UserName") != str)
{
iNIFile.IniWriteValue("SystemConfig", "UserName", str);
}
lb_UserName.Text = str;
UserName = str;
lb_UserName.ForeColor = Color.LightGreen;
}
private void LoadTime()
{
int datetime = Convert.ToInt32(DateTime.Now.Hour.ToString());
if (datetime >= 8 && datetime < 20)
{
time1.Text = DateTime.Now.ToString("yyyy-MM-dd");
time3.Text = "08:00:00";
time2.Text = DateTime.Now.ToString("yyyy-MM-dd");
time4.Text = "20:00:00";
this.radioButton1.Checked = true;
}
else if (datetime >= 0 && datetime < 8)
{
time1.Text = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd");
time3.Text = "20:00:00";
time2.Text = DateTime.Now.ToString("yyyy-MM-dd");
time4.Text = "08:00:00";
this.radioButton2.Checked = true;
}
else
{
time1.Text = DateTime.Now.ToString("yyyy-MM-dd");
time3.Text = "20:00:00";
time2.Text = DateTime.Now.AddDays(1).ToString("yyyy-MM-dd");
time4.Text = "08:00:00";
this.radioButton2.Checked = true;
}
}
private void cb_shift_SelectedIndexChanged(object sender, EventArgs e)
{
cb_shift.Visible = false;
//cb_shift.Visible = true;
}
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
try
{
this.Com.Comm.Close();
//System.Environment.Exit(System.Environment.ExitCode);
}
catch (Exception ex)
{
LogHelper.Error("空间名:" + ex.Source + "" + '\n' +
"方法名:" + ex.TargetSite + '\n' +
"故障点:" + ex.StackTrace.Substring(ex.StackTrace.LastIndexOf("\\") + 1, ex.StackTrace.Length - ex.StackTrace.LastIndexOf("\\") - 1) + '\n' +
"错误提示:" + ex.Message);
}
finally
{
this.Dispose();
this.Close();
}
}
private void radioButton2_CheckedChanged(object sender, EventArgs e)
{
//夜班
//time1.Text = DateTime.Now.ToString("yyyy-MM-dd");
//time3.Text = "20:00:00";
//time2.Text = DateTime.Now.AddDays(1).ToString("yyyy-MM-dd");
//time4.Text = "08:00:00";
return;
int datetime = Convert.ToInt32(DateTime.Now.Hour.ToString());
if (datetime >= 8 && datetime < 20)
{
time1.Text = DateTime.Now.ToString("yyyy-MM-dd");
time3.Text = "08:00:00";
time2.Text = DateTime.Now.ToString("yyyy-MM-dd");
time4.Text = "20:00:00";
//this.radioButton1.Checked = true;
}
else if (datetime >= 0 && datetime < 8)
{
time1.Text = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd");
time3.Text = "08:00:00";
time2.Text = DateTime.Now.ToString("yyyy-MM-dd");
time4.Text = "20:00:00";
//this.radioButton2.Checked = true;
}
else
{
time1.Text = DateTime.Now.ToString("yyyy-MM-dd");
time3.Text = "20:00:00";
time2.Text = DateTime.Now.AddDays(1).ToString("yyyy-MM-dd");
time4.Text = "08:00:00";
//this.radioButton2.Checked = true;
}
}
private void radioButton1_CheckedChanged(object sender, EventArgs e)
{
//白班
//time1.Text = DateTime.Now.ToString("yyyy-MM-dd");
//time3.Text = "08:00:00";
//time2.Text = DateTime.Now.ToString("yyyy-MM-dd");
//time4.Text = "20:00:00";
return;
int datetime = Convert.ToInt32(DateTime.Now.Hour.ToString());
if (datetime >= 8 && datetime < 20)
{
time1.Text = DateTime.Now.ToString("yyyy-MM-dd");
time3.Text = "08:00:00";
time2.Text = DateTime.Now.ToString("yyyy-MM-dd");
time4.Text = "20:00:00";
}
else if (datetime >= 0 && datetime < 8)
{
time1.Text = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd");
time3.Text = "08:00:00";
time2.Text = DateTime.Now.ToString("yyyy-MM-dd");
time4.Text = "20:00:00";
}
else
{
time1.Text = DateTime.Now.ToString("yyyy-MM-dd");
time3.Text = "20:00:00";
time2.Text = DateTime.Now.AddDays(1).ToString("yyyy-MM-dd");
time4.Text = "08:00:00";
}
}
private void timer1_Tick(object sender, EventArgs e)
{
try
{
if (iNIFile.IniReadValue("SystemConfig", "UserName") != "用户名")
{
iNIFile.IniWriteValue("SystemConfig", "UserName", "用户名");
}
this.UserName = "用户名";
lb_UserName.Text = "用户名";
lb_UserName.ForeColor = Color.Red;
}
catch (Exception ex)
{
LogHelper.Error("空间名:" + ex.Source + "" + '\n' +
"方法名:" + ex.TargetSite + '\n' +
"故障点:" + ex.StackTrace.Substring(ex.StackTrace.LastIndexOf("\\") + 1, ex.StackTrace.Length - ex.StackTrace.LastIndexOf("\\") - 1) + '\n' +
"错误提示:" + ex.Message);
}
}
List<string> listNew = new List<string>();
private void cb_machine_TextUpdate(object sender, EventArgs e)
{
//清空combobox
this.cb_machine.Items.Clear();
//清空listNew
listNew.Clear();
//遍历全部备查数据
foreach (var item in listOnit)
{
if (item.Contains(this.cb_machine.Text))
{
//符合插入ListNew
listNew.Add(item);
}
}
//combobox添加已经查到的关键词
this.cb_machine.Items.AddRange(listNew.ToArray());
//设置光标位置,否则光标位置始终保持在第一列,造成输入关键词的倒序排列
this.cb_machine.SelectionStart = this.cb_machine.Text.Length;
//保持鼠标指针原来状态,有时候鼠标指针会被下拉框覆盖,所以要进行一次设置。
Cursor = Cursors.Default;
//自动弹出下拉框
this.cb_machine.DroppedDown = true;
}
private void timer2_Tick(object sender, EventArgs e)
{
LoadTime();
//SetRadiobutton();
}
}
}