実際のところFormとClassの違いはないのです。
従ってFormにしようかClassにしようかと言う問いは意味がありません。
.NET上でのFormはデザイナーがインスタンスやイベントハンドラーを自動で作成してくれます。
従ってプログラムの容易さや作業スピードのことを考えると、Formを上手に使いましょう
と言うことになります。
SerialPort専用のフォームを作ってFomSerialPortとしたとします。
そしてその中にSerialPort1を置いたとしますよね、そうすると
FomSerialPortはクラスですからForm1の中でインスタンスを作る必要が
有ります。
Public Class Form1
Dim FormSerialPort1 As New FormSerialPort
'ポートをオープンする
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
FormSerialPort1.SerialPort1.Open()
End Sub
End Class
こんな具合になるわけです。
もちろんデリゲートなんかもFomSerialPortクラスの中に書きます。
「FormSerialPort1.」はフォームのメンバーに対するアクセス子ではなく
Classのメンバーに対するアクセス子なのです。
SerialPortの受信はセカンドスレッドで行われますから、その処理は
SerialPortのインスタンスのあるクラスのインスタンスすなわち
FormSerialPort1で行われる方法が判り易いと思います。