SerialPort::PortName Property
Gets or sets the port for communications, including but not limited to all available COM ports.
Assembly: System (in System.dll)
| Exception | Condition |
|---|---|
| ArgumentException | The PortName property was set to a value with a length of zero. -or- The PortName property was set to a value that starts with "\\". -or- The port name was not valid. |
| ArgumentNullException | The PortName property was set to nullptr. |
| InvalidOperationException | The specified port is open. |
A list of valid port names can be obtained using the GetPortNames method.
The following code example demonstrates the use of the SerialPort class to allow two users to chat from two separate computers connected by a null modem cable. In this example, the users are prompted for the port settings and a username before chatting. This code example is part of a larger code example provided for the SerialPort class.
public: static void Main() { String^ name; String^ message; StringComparer^ stringComparer = StringComparer::OrdinalIgnoreCase; Thread^ readThread = gcnew Thread(gcnew ThreadStart(PortChat::Read)); // Create a new SerialPort object with default settings. _serialPort = gcnew SerialPort(); // Allow the user to set the appropriate properties. _serialPort->PortName = SetPortName(_serialPort->PortName); _serialPort->BaudRate = SetPortBaudRate(_serialPort->BaudRate); _serialPort->Parity = SetPortParity(_serialPort->Parity); _serialPort->DataBits = SetPortDataBits(_serialPort->DataBits); _serialPort->StopBits = SetPortStopBits(_serialPort->StopBits); _serialPort->Handshake = SetPortHandshake(_serialPort->Handshake); // Set the read/write timeouts _serialPort->ReadTimeout = 500; _serialPort->WriteTimeout = 500; _serialPort->Open(); _continue = true; readThread->Start(); Console::Write("Name: "); name = Console::ReadLine(); Console::WriteLine("Type QUIT to exit"); while (_continue) { message = Console::ReadLine(); if (stringComparer->Equals("quit", message)) { _continue = false; } else { _serialPort->WriteLine( String::Format("<{0}>: {1}", name, message) ); } } readThread->Join(); _serialPort->Close(); } static void Read() { while (_continue) { try { String^ message = _serialPort->ReadLine(); Console::WriteLine(message); } catch (TimeoutException ^) { } } }
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.