C#条形码

2022-08-15 03:26:30   文档大全网     [ 字体: ] [ 阅读:10 ]

#文档大全网# 导语】以下是®文档大全网的小编为您整理的《C#条形码》,欢迎阅读!
C#,条形码

public class RevSerialPort

{

SerialPort serialPort;

StringBuilder sb;

public RevSerialPort()

{

sb = new StringBuilder();

serialPort = new SerialPort();

serialPort.DataReceived += new SerialDataReceivedEventHandler(serialPort_DataReceived);

}

public RevSerialPort(string portName)

{

sb = new StringBuilder();

serialPort = new SerialPort(portName);

serialPort.DataReceived += new SerialDataReceivedEventHandler(serialPort_DataReceived);

}

public RevSerialPort(string portName, int baudRate, Parity parity, int dataBits, StopBits stopBits)

{

sb = new StringBuilder();

serialPort = new SerialPort(portName, baudRate, parity, dataBits, stopBits);

serialPort.DataReceived += new SerialDataReceivedEventHandler(serialPort_DataReceived);

}

void serialPort_DataReceived(object sender, SerialDataReceivedEventArgs e)

{

sb.Append(serialPort.ReadExisting());

int index = sb.ToString().IndexOf((char)0xd);

if (index > 0)

{

try

{

System.Windows.Forms.SendKeys.SendWait(sb.ToString(0, index) + "~");

}

finally

{

sb.Remove(0, index + 1);

}

}

}

public void Start()

{

serialPort.Open();

}

public void Stop()

{

if (serialPort.IsOpen)

serialPort.Close();

}

}

使用时,在主窗体加载事件中直接开启,主窗体关闭时关闭:

RevSerialPort rsp;

private void MainForm_Load(object sender, EventArgs e)

{

try

{

//如果不是默认的COM1端口,这里需要传入端口号

rsp = new RevSerialPort();

rsp.Start();

}

catch (Exception ex)

{

MessageBox.Show(ex.Message);

}

}

private void MainForm_FormClosing(object sender, FormClosingEventArgs e)

{

if (rsp != null)

rsp.Stop();

}

本文来源:https://www.wddqxz.cn/aa193afda1c7aa00b52acb9c.html

微信扫码分享

相关推荐