继续之前的编程
1、将4个扫码按钮添加进行,增加触发程序,启动后将按钮颜色改为蓝色
//料框1启动扫码
private void button1_Click(object sender, EventArgs e)
{
ScanFrameNum = 1;
ScanStart();
_Form1Instance.button1.BackColor = Color.SkyBlue;
}
//料框2启动扫码
private void button2_Click(object sender, EventArgs e)
{
ScanFrameNum = 2;
ScanStart();
_Form1Instance.button2.BackColor = Color.SkyBlue;
}
//料框3启动扫码
private void button3_Click(object sender, EventArgs e)
{
ScanFrameNum = 3;
ScanStart();
_Form1Instance.button3.BackColor = Color.SkyBlue;
}
//料框4启动扫码
private void button4_Click(object sender, EventArgs e)
{
ScanFrameNum = 4;
ScanStart();
_Form1Instance.button4.BackColor = Color.SkyBlue;
}
定义一个料框号
public static Int32 ScanFrameNum = 0; // 当前扫描的框号
2、建一个方法,将各种信息添加到textBox里,同时创建一个清屏按钮
//信息栏添加信息
public static void ScanMessageShow(string Str)
{
_Form1Instance.textBox1.Text += Str;
}
//信息栏清屏
private void button5_Click(object sender, EventArgs e)
{
_Form1Instance.textBox1.Text = string.Empty;
}
3、修改程序,将所有messageBox.Show()换成ScanMessageShow();
//MessageBox.Show(disp, "错误");
ScanMessageShow(disp); //异常信息存入textBox
4、方法ScanData_ikkatu()内,读码成功后,增加二维码判断功能,只读取二维码
//确定读取的是二维码而不是条形码
if (symbolGet==11)
{
disp = "料框" + ScanFrameNum.ToString() + "二维码:" + strCodedata + "\r\n";
ScanMessageShow(disp); //将二维码写入textBox中
}
else
{
disp = "料框" + ScanFrameNum.ToString() + "读码不正确,请扫二维码" + "\r\n";
ScanMessageShow(disp); //异常信息存入textBox
}
5、调整按钮颜色,在load里面设置按钮的初始颜色
//设定按钮初始颜色
_Form1Instance.button1.BackColor = Color.Silver;
_Form1Instance.button2.BackColor = Color.Silver;
_Form1Instance.button3.BackColor = Color.Silver;
_Form1Instance.button4.BackColor = Color.Silver;
6、扫码失败后恢复初始颜色
//按钮背景颜色恢复
private static void buttonBackColor(int FrameNum)
{
if (FrameNum==1)
{
_Form1Instance.button1.BackColor = Color.Silver;
}
if (FrameNum == 2)
{
_Form1Instance.button2.BackColor = Color.Silver;
}
if (FrameNum == 3)
{
_Form1Instance.button3.BackColor = Color.Silver;
}
if (FrameNum == 4)
{
_Form1Instance.button4.BackColor = Color.Silver;
}
}
7、确定不是二维码后,调用方法,将按钮恢复成初始颜色
//确定读取的是二维码而不是条形码
if (symbolGet==11)
{
disp = "料框" + ScanFrameNum.ToString() + "二维码:" + strCodedata + "\r\n";
ScanMessageShow(disp); //将二维码写入textBox中
}
else
{
disp = "料框" + ScanFrameNum.ToString() + "读码不正确,请扫二维码" + "\r\n";
ScanMessageShow(disp); //异常信息存入textBox
buttonBackColor(ScanFrameNum);
ScanFrameNum = 0;
}
改动后的效果