You need to call
ReadByte
in a loop until it returns -1. And then you can probably use
File::WriteAllBytes
to write it to a file. If you want to append to the file, you'd need to write more code (something similar to what you already have now.
And I don't think it makes sense to display binary data in a rich text box.
[Update]
--------
Example
Read
usage:
array<byte>^ bytes = gcnew array<byte>(100);
serialPort->Read(bytes, 0, 75);