我们的目标是将数据从串口发送到文本框以及数据网格视图中。我们该怎么做?任何意见或建议将不胜感激。顺便说一句,我们使用的是 c# Visual Studio 2012。
string RxString;
public Form1()
{
InitializeComponent();
}
private void buttonStart_Click(object sender, EventArgs e)
{
serialPort1.PortName = "COM71";
serialPort1.BaudRate = 9600;
serialPort1.Open();
if (serialPort1.IsOpen)
{
buttonStart.Enabled = false;
buttonStop.Enabled = true;
dataGridView1.Rows.Add(10);
}
}
private void buttonStop_Click(object sender, EventArgs e)
{
if (serialPort1.IsOpen)
{
serialPort1.Close();
buttonStart.Enabled = true;
buttonStop.Enabled = false;
}
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (serialPort1.IsOpen) serialPort1.Close();
}
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (!serialPort1.IsOpen) return;
char[] buff = new char[1];
buff[0] = e.KeyChar;
serialPort1.Write(buff, 0, 1);
}
private void DisplayText(object sender, EventArgs e)
{
textBox1.AppendText(RxString);
}
private void serialPort1_DataReceived
(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
RxString = serialPort1.ReadExisting();
this.Invoke(new EventHandler(DisplayText));
dataGridView1.Rows[0].Cells[0].Value = textBox1.Lines[0];
}
}
}
我不知道如何将数据从文本传输到 datagridview 中的每一行。请帮忙 :'(
@codeswithhammer
我使用了这些代码但仍然没有工作它说该方法必须具有返回类型
private DataTable myTable = new DataTable();
public Form2()
{
InitializeComponent();
// initialise
this.initialiseTable(this.myTable);
// set source
this.dataGridView1.DataSource = this.myTable;
}
/// <summary>
/// Initialise a table
/// </summary>
/// <param name="table">The table to initialise</param>
private void initialiseTable(DataTable table)
{
// add all columns
table.Columns.Add(new DataColumn("Column1"));
table.Columns.Add(new DataColumn("Column2"));
table.Columns.Add(new DataColumn("Column3"));
}
private void button1_Click(object sender, EventArgs e)
{
// create a row
DataRow rd = this.myTable.NewRow();
// set values
rd[0] = textBox1.Text;
rd[1] = textBox2.Text;
rd[2] = textBox3.Text;
// add row to table
this.myTable.Rows.Add(rd);
}
}
}
我只有上面的图片文件显示的内容