If you are trying to send data including ASCII control codes such as STX and ETX, then you really need to be very careful about what else you are sending.
When you send Text from a C# app:
myserial.Write(richTextBoxSend.Text);
What you send is in Unicode, which is a "bigger" character set, and where the characters can be trasnmitted as two bytes. If your other end equipment is expecting STX / ETX, then it's likely that it also expects ASCII data, and Unicode may well confuse the issue.
So convert your data first, and send it all as byte values instead of character:
private byte[] STX = new byte[] { 0x02 };
private byte[] EXT = new byte[] { 0x03 };
...
byte[] bytes = System.Text.Encoding.ASCII.GetBytes(richTextBoxSend.Text);
myserial.Write(STX, 0 , 1);
myserial.Write(bytes, 0, bytes.Length);
myserial.Write(ETX, 0, 1);