我是C#的新手,我使用的是Windows窗体。
我正在构建通过com0com虚拟串口从/向超终端应用程序发送/接收数据的应用程序(因为我的笔记本电脑中没有COM端口)。
我有一张包含2 buttons
和2 textBoxes
以及serialPort1
的表单。当我单击buttonSend时,它将textbox1
中的文本发送到HyperTerminal。当我点击buttonReceive时,它会显示超级终端在textbox2
中发送的文本。
我的代码工作正常我只能在点击按钮时发送和接收数据。我希望实时接收数据,而不是单击按钮在textbox
中显示,我的意思是当我在超级终端中键入文本时,我希望它出现在textbox2中。你能帮我解决一下这个问题吗?谢谢。
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
if (!serialPort1.IsOpen)
{
try
{
serialPort1.Open();
}
catch (System.Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
}
private void buttonSend_Click(object sender, EventArgs e)
{
serialPort1.WriteLine(textBox1.Text);
}
private void buttonReceive_Click(object sender, EventArgs e)
{
try
{
textBox2.Text = serialPort1.ReadExisting();
}
catch (TimeoutException)
{
MessageBox.Show("timeOut");
}
}
}