using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;namespace mycomserialport
{
        public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();      //初始化组件
        }
      
        public string byteToHexStr(byte[] bytes)
        {
            string returnStr = "";
            StringBuilder strb=new StringBuilder();
            if (bytes != null)
            {                for (int i = 0; i < bytes.Length; i++)
                {
                    strb.Append( bytes[i].ToString("X2"));
                    strb.Append(" ");
                }
            }
            returnStr = strb.ToString();
            return returnStr;
        }
        private void Assign Text Box Value(TextBox textBox1, string textBoxValue)
        {
            textBox1.Text += textBoxValue;
        }
        private delegate void TextBoxValueAssignDelegate(TextBox textBox1, string textBoxValue);        private void Open_btn_Click(object sender, EventArgs e)
        {
            try
            {
                Close_btn.Enabled = true;
                Open_btn.Enabled = false;
                label1.Text = "串口" + serialPort1.PortName.ToString() + "已打开!";
                serialPort1.Open();
            }
            catch 
            {
                Close_btn.Enabled = false;
                Open_btn.Enabled = true;
                label1.Text = "串口" + serialPort1.PortName.ToString() + "打开失败!";
            }        }        private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
        {
            
            // 获取字节长度
            int bytes = serialPort1.BytesToRead;
            // 创建字节数组
            byte[] buffer = new byte[bytes];
            // 读取缓冲区的数据到数组
            serialPort1.Read(buffer, 0, bytes);
            // 显示读取的数据到数据窗口
          
                this.BeginInvoke(new TextBoxValueAssignDelegate(this.AssignTextBoxValue), new object[] { textBox1, byteToHexStr(buffer) + "\n" });
                  }        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (this.serialPort1.IsOpen)
            {
                serialPort1.Close();
                Close_btn.Enabled = false;
                Open_btn.Enabled = true;
            }
 
            serialPort1.PortName = comboBox1.SelectedItem.ToString();
        }        private void Form1_Load(object sender, EventArgs e)
        {
            //获取串口 
            Microsoft.VisualBasic.Devices.Computer pc = new Microsoft.VisualBasic.Devices.Computer();
            foreach (string s in pc.Ports.SerialPortNames)
            {
                this.comboBox1.Items.Add(s);
            }
            this.comboBox1.SelectedIndex = 0;
            this.comboBox2.SelectedIndex = 0;
            this.comboBox3.SelectedIndex = 0;
            this.comboBox4.SelectedIndex = 0;
            this.comboBox5.SelectedIndex = 0;
            Close_btn.Enabled = false;
            Open_btn.Enabled = true;
            label1.Text="请选择串口!";
            Hex_rbtn.Checked = true;
        }        private void comboBox3_SelectedIndexChanged(object sender, EventArgs e)
       
        {
            if (this.serialPort1.IsOpen)
            {
                serialPort1.Close();
                Close_btn.Enabled = false;
                Open_btn.Enabled = true;
            }
 
            switch (comboBox3.SelectedIndex)
            {
                case 0:
                    serialPort1.Parity = Parity.None;
                    break;
                case 1:
                    serialPort1.Parity = Parity.Odd;
                    break;
                case 2:
                    serialPort1.Parity = Parity.Even;
                    break;
                default:
                    MessageBox.Show("请选择串口!");
                    break;
            }        }        private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (this.serialPort1.IsOpen)
            {
                serialPort1.Close();
                Close_btn.Enabled = false;
                Open_btn.Enabled = true;
            }
 
            serialPort1.BaudRate = Convert.ToInt32(comboBox2.SelectedItem);
        }
        
        private void comboBox4_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (this.serialPort1.IsOpen)
            {
                serialPort1.Close();
                Close_btn.Enabled = false;
                Open_btn.Enabled = true;
            }
 
            serialPort1.DataBits = Convert.ToInt16(comboBox4.SelectedItem);
        }        private void comboBox5_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (this.serialPort1.IsOpen)
            {
                serialPort1.Close();
                Close_btn.Enabled = false;
                Open_btn.Enabled = true;
            }
 
            int stopd = Convert.ToInt16(comboBox5.SelectedValue);
            switch (stopd)
            {
                case 0:
                    serialPort1.StopBits = StopBits.One;
                    break;
                case 1:
                    serialPort1.StopBits = StopBits.Two;
                    break;
            }
        }        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            this.serialPort1.Close();
        }        private void Close_btn_Click(object sender, EventArgs e)
        {
            this.serialPort1.Close();
            Close_btn.Enabled = false;
            Open_btn.Enabled = true;
        }        private void Cl_btn_Click(object sender, EventArgs e)
        {
            textBox1.Text = "";
        }        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            if (textBox1.Text.Length >  32760)
            {
                textBox1.Text = "";
            }
        }               private void timer1_Tick(object sender, EventArgs e)
        {
            try
            {
                serialPort1.Write(textBox2.Text);
            }
            catch
            {
                label1.Text = "发送失败!";
            }
            
        }
        
        private void Send_btn_Click(object sender, EventArgs e)
        {
            if(serialPort1.IsOpen)
            {
                if (Send_btn.Text == "发送")
                {
                    timer1.Start();
                    Send_btn.Text = "停止";
                }
                else
                {
                    timer1.Stop();
                    Send_btn.Text = "发送";
                }
            }
        
           else
            {
                label1.Text = "出口未打开!";
            }
        }       
               
    }
}

解决方案 »

  1.   

    看看窗体的Form1 .Designer.cs文件
    命名空间,类名是不是和.cs里一致
      

  2.   

    还是不行
    Form1 .Designer.cs文件:
    namespace WindowsFormsApplication9
    {
        public  partial class Form1
        {
            /// <summary>
            /// 必需的设计器变量。
            /// </summary>
            private System.ComponentModel.IContainer components = null;        /// <summary>
            /// 清理所有正在使用的资源。
            /// </summary>
            /// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
            protected override void Dispose(bool disposing)
            {
                if (disposing && (components != null))
                {
                    components.Dispose();
                }
                base.Dispose(disposing);
            }        #region Windows 窗体设计器生成的代码        /// <summary>
            /// 设计器支持所需的方法 - 不要
            /// 使用代码编辑器修改此方法的内容。
            /// </summary>
            private void InitializeComponent()
            {
                this.SuspendLayout();
                // 
                // Form1
                // 
                this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
                this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
                this.ClientSize = new System.Drawing.Size(284, 262);
                this.Name = "Form1";
                this.Text = "Form1";
                this.Load += new System.EventHandler(this.Form1_Load);
                this.ResumeLayout(false);        }        #endregion
        }
    }
      

  3.   

    一开始就叫你检查命名空间了
    Form1.cs的命名空间是:namespace mycomserialport
    Form1.Designer.cs的命名空间是:namespace WindowsFormsApplication9
    修改成一致就行