

(窗口2有一个串口控件)“”控制按钮“”第一次按下,打开窗口2,在发送区写入相关内容,第二次按下按钮,就发送去的内容(通过串口)送到第一个窗口的接收区。自己写的没有错误提示,但是运行也不成功。
form1-----------------------------------------------
using oprate_serialport;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace oprate_serialport
{
public partial class Form1 : Form
{
public delegate void newdeleeventhandle(object sender, EventArgs e);
public event newdeleeventhandle newevent;
public Form1()
{
InitializeComponent();
// newevent += newform2.uartset;
// newevent += newform2.onuart;
}
public void onnewevent(object sender, EventArgs e)
{
if (newevent != null) newevent(this, e);
}
int num = 0;
private void sport_oprate_Click(object sender, EventArgs e)
{
Form2 newform2 = new Form2();
num++;
if (num == 1)
{
newform2.Show();
}
else
{
if (num==2)
{
newform2.onuart (0,null);//不传输内容
num = 1;
}
}
}
}
}form2---------------------------------------using System;using System.Windows.Forms;using System.IO.Ports;namespace oprate_serialport{ public partial class Form2 : Form { public Form2() { InitializeComponent(); } private void Form2_Load(object sender, EventArgs e) { first_port.PortName = "COM1"; first_port.BaudRate = 9600; first_port.DataBits = 8; first_port.StopBits = StopBits.One; first_port.Parity = Parity.None; } public void onuart(object sender, EventArgs e ) { Form1 newform1 = new Form1(); first_port.Open(); first_port.WriteLine(senddata.Text); string data2 =(first_port.ReadLine( )); newform1.receivedata.Text =(data2); first_port.Close(); } }}