私たちの目標は、シリアル ポートからテキスト ボックスとデータ グリッド ビューにデータを送信することです。どうすればいいのでしょうか?コメントや提案をいただければ幸いです。ちなみに、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];
}
}
}
テキストからデータグリッドビューの各行にデータを転送する方法がわかりません。助けてください :'(
@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);
}
}
}
上の画像ファイルに表示されているものしか持っていません