怎么用C#serialport写一个通信串口调试程序
查了一下!就是没有用SerialPort写一个通信串口的例子! 
 还真不知道这个控件怎么有! 
 急求! 
 程序!
------解决方案--------------------using System; 
 using System.Runtime.InteropServices;   
 namespace Test 
 { 
 	///  <summary>  
 	/// SerialPort 的摘要说明。 
 	///  </summary>  
 	public class SerialPort 
 	{ 
 		#region 申明要引用的和串口调用有关的API 
 		//win32 api constants  
 		private const uint GENERIC_READ = 0x80000000;  
 		private const uint GENERIC_WRITE = 0x40000000;  
 		private const int OPEN_EXISTING = 3;        
 		private const int INVALID_HANDLE_VALUE = -1;  
 		private const int MAXBLOCK = 4096;   
 		private const uint PURGE_TXABORT = 0x0001;  // Kill the pending/current writes to the comm port. 
 		private const uint PURGE_RXABORT = 0x0002;  // Kill the pending/current reads to the comm port. 
 		private const uint PURGE_TXCLEAR = 0x0004;  // Kill the transmit queue if there. 
 		private const uint PURGE_RXCLEAR = 0x0008;  // Kill the typeahead buffer if there.          
 		[StructLayout(LayoutKind.Sequential)]  
 			private struct DCB   
 		{  
 			//taken from c struct in platform sdk   
 			public int DCBlength;           // sizeof(DCB)   
 			public int BaudRate;            // current baud rate   
 			public int fBinary;          // binary mode, no EOF check   
 			public int fParity;          // enable parity checking   
 			public int fOutxCtsFlow;      // CTS output flow control   
 			public int fOutxDsrFlow;      // DSR output flow control   
 			public int fDtrControl;       // DTR flow control type   
 			public int fDsrSensitivity;   // DSR sensitivity   
 			public int fTXContinueOnXoff; // XOFF continues Tx   
 			public int fOutX;          // XON/XOFF out flow control   
 			public int fInX;           // XON/XOFF in flow control   
 			public int fErrorChar;     // enable error replacement   
 			public int fNull;          // enable null stripping   
 			public int fRtsControl;     // RTS flow control   
 			public int fAbortOnError;   // abort on error   
 			public int fDummy2;        // reserved   
 			public ushort wReserved;          // not currently used   
 			public ushort XonLim;             // transmit XON threshold   
 			public ushort XoffLim;            // transmit XOFF threshold   
 			public byte ByteSize;           // number of bits/byte, 4-8   
 			public byte Parity;             // 0-4=no,odd,even,mark,space   
 			public byte StopBits;           // 0,1,2 = 1, 1.5, 2   
 			public char XonChar;            // Tx and Rx XON character   
 			public char XoffChar;           // Tx and Rx XOFF character   
 			public char ErrorChar;          // error replacement character   
 			public char EofChar;            // end of input character   
 			public char EvtChar;            // received event character   
 			public ushort wReserved1;         // reserved; do not use   
 		}    
 		[StructLayout(LayoutKind.Sequential)]  
 			private struct COMMTIMEOUTS   
 		{    
 			public int ReadIntervalTimeout;   
 			public int ReadTotalTimeoutMultiplier;   
 			public int ReadTotalTimeoutConstant;   
 			public int WriteTotalTimeoutMultiplier;   
 			public int WriteTotalTimeoutConstant;   
 		}        
 		[StructLayout(LayoutKind.Sequential)]     
 			private struct OVERLAPPED   
 		{   
 			public int  Internal;   
 			public int  InternalHigh;   
 			public int  Offset;   
 			public int  OffsetHigh;   
 			public int hEvent;   
 		}   
 		[StructLayout(LayoutKind.Sequential)] 
 			private struct COMSTAT 
 		{ 
 			/*public int fCtsHold; 
 			public int fDsrHold; 
 			public int fRlsdHold; 
 			public int fXoffHold;