Hallo Eik,

ich glaube Du musst Dich unbedingt weiter in die Programmierung einarbeiten, zumindest würde ich das so interpretieren wenn ich Deine bisherigen Programmzeilen so anschaue. Die anderen Inhalte von Windows Form sehe ich llerdings nicht.
Warum arbeitest Du mit so vielen Fenstern?
Um z.B. die Exception zu bedienen wäre dies meiner Ansicht nach sinnvoller, allerdings kenne ich Deine Hintergründe nicht:

MessageBox.Show("Fehler beim öffnen", "Schnittstelle", MessageBoxButtons.OK,MessageBoxIcon.Exclamation);

Du kannst auch nicht einfach eine Anzahl Bytes aus dem seriellen Buffer holen ohne zu prüfen ob diese überhaupt in ausreichender „Menge“ vorhanden sind.

Bist Du sicher, dass Du genau das mit Deiner TextBox machen willst was Du da eingegeben hast…
Schaue Dir nochmal die Hilfe dazu an…

Aber lassen wir das jetzt mal, Du wirst Dich schon Stück für Stück durchbeißen,… zu Deiner eigentlichen Frage:

Definiere einfach eine Anzahl Bytes für Deinen Buffer, also statt:

char[] Buffer;

so:

char[] Buffer = new char[250];
//z.B. Buffergröße 250 Byte


Gruß André