Die kurze Antwort ist, dass Sie konnte aber Sie should't.
Es gibt keine integrierte Möglichkeit, dies zu tun. Sie könnten jedoch einen Timer (wie Hans erwähnt) in Ihrem SerialDataReceivedEventHandler einrichten und diesen Timer jedes Mal zurücksetzen, wenn Sie Zeichen empfangen. Wenn der Timer abläuft, können Sie feststellen, dass Sie möglicherweise keine Daten mehr empfangen.
Dies gesagt, serielle Kommunikation hat seine Macken. Die Tatsache, dass der Timer abläuft, bedeutet nicht, dass das andere System mit der Übertragung von Daten beendet ist. Es könnte einen Flusskontrollmechanismus geben, bei dem ein System auf einen anderen wartet, es könnte eine Verzögerung auf dem einen oder anderen Ende geben. (Wenn Ihr System beschäftigt ist, kann es serielle Daten puffern, bevor das Ereignis ausgelöst wird.)
Normalerweise wird das Übertragungsende bestimmt, wenn ein bestimmtes Zeichen empfangen wird (normalerweise CR/LF), das robuster ist als das Warten auf a spezifizierter Timeout