我的代码是这样的:
还要加什么代码才能在textbox里显示出来啊?private void 手动发送_Click(object sender, EventArgs e)
        {
            serialPort1.Open();
            serialPort1.Write(textBox输入框.Text);
            serialPort1.DataReceived += new SerialDataReceivedEventHandler(serialPort1_DataReceived);
            serialPort1.Close();
}private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e) 
        {            int num = serialPort1.BytesToRead; //获取缓冲数据个数
            byte[] data = new byte[num];
            serialPort1.Read(data, 0, num); 
}

解决方案 »

  1.   


    serialPort1.Read(data, 0, num); 
    后面
    加上:
    txtBox.Text = data.ToString();
    就行了吧。很简单
      

  2.   

    不行啊,在serialPort1_DataReceived里不能用textbox啊
      

  3.   

    你可以设一个全局变量,在接受到数据时更新全局变量,再把全局变量的值赋给textBox.text.
    顺便问一句,你接收到的串口的数据是乱码吗?我也做了一个程序,但是接收到的是乱码,可不可以把你SerialPort配置的代码发一下?
      

  4.   

    serialPort1在当前窗体中,不能用该窗体的textBox1?
      

  5.   

    全局变量保存接收到的数据,在GetData中传给TextBox即可
    public void OnDataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e) 

        Invoke(new EventHandler(GetData)); 
    }
      

  6.   

    使用Invoke在UI线程上给TextBox赋值。
      

  7.   

    用Invoke
    或者用属性
      CheckForIllegalCrossThreadCalls = false;
      

  8.   

    Pulic string mystr;
    private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e) 
            {             int num = serialPort1.BytesToRead; //获取缓冲数据个数 
                byte[] data = new byte[num]; 
                serialPort1.Read(data, 0, num); 
                mystr=data.ToString();
    } private void Button1_Click(object sender, EventArgs e) 
    {
         txtBox.Text = data.ToString(); 
    }
      

  9.   

    public string Value{get;set;}//构造函数中
    Binding binding = new Binding("Value");
    bi.Source = this;
    txtBox.SetBinding(TextBox.TextProperty, binding);private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
    {
      int num = serialPort1.BytesToRead; //获取缓冲数据个数
      byte[] data = new byte[num];
      serialPort1.Read(data, 0, num); 
      Value = data.ToString();
    }
      

  10.   

               private  String strReceive ;
            public delegate void InvokeDelegate();
            public void Display()
            {
                txtReceive.Text += strReceive;
            }
          private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
            {                //   接收缓冲区中数据的字节数 
                    int int_Len = serialPort1.BytesToRead;                //   接收数据 
                    byte[] bytes = new byte[int_Len];
                    serialPort1.Read(bytes, 0, int_Len);                strReceive = bytes.ToCharString;
                
                txtReceive.BeginInvoke(new InvokeDelegate(Display));
            }