-5

https://www.facebook.com/photo.php?fbid=494142207337085&set=a.102999783117998.6074.100002239302471&type=1&theater

我们的目标是将数据从串口发送到文本框以及数据网格视图中。我们该怎么做?任何意见或建议将不胜感激。顺便说一句,我们使用的是 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);
    }


    }
}

我只有上面的图片文件显示的内容

4

1 回答 1

0

假设您的 datagridview 未绑定 3 列。

假设您在 txtBox1 中的文本由 ',' 分隔

所以

 string[] txt = textBox1.Text.Split(',');
 dataGridView1.Rows.Add(txt[0], txt[1], txt[2]);

希望这会有所帮助

  private void DisplayText(object sender, EventArgs e)
  {
      textBox1.AppendText(RxString);
      DataGridView1.Rows.Add(RxString); //consider 1 row has only 1 column
  }
于 2013-08-29T02:08:46.533 回答