Hope this sample code can help you much.

Code:
'Main Form >> frmMain.frm
Option Explicit
Dim ZZ$
Private Sub CmdAction_Click(Index As Integer)
Select Case Index
Case 0 'Send
    MSComm1.InBufferCount = 0
    MSComm1.Output = txtSend.Text
    txtRx.Text = txtRx.Text & "<Tx> " & txtSend.Text & vbCrLf
    txtRx.SelStart = Len(txtRx)
Case 1 'Setting
    Load frmSetting
    frmSetting.Show
End Select
End Sub

Private Sub Form_Load()
SaveSetting "xCOM", "Parameter", "ComPort", MSComm1.CommPort
SaveSetting "xCOM", "Parameter", "Settings", MSComm1.Settings
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If MSComm1.PortOpen Then MSComm1.PortOpen = False
Dim xForm As Form
For Each xForm In Forms
    Unload xForm
Next
End Sub

Private Sub MSComm1_OnComm()
Select Case MSComm1.CommEvent
Case comEvReceive
    txtRx.Text = txtRx.Text & "<Rx> " & MSComm1.Input & vbCrLf
    txtRx.SelStart = Len(txtRx)
End Select

End Sub

'Port Configuration form >> frmSetting.frm
Option Explicit
Private xComSetting(3) As String
Private Sub CmdAction_Click()
On Error GoTo Open_Err
SaveSetting "xCOM", "Parameter", "ComPort", Mid(Trim(Combo1.Text), 4, 1)
SaveSetting "xCOM", "Parameter", "Settings", Trim(Combo2.Text) & Chr(44) & Trim(Combo3.Text) & Chr(44) & Trim(Combo4.Text) & Chr(44) & Trim(Combo5.Text)

frmMain.MSComm1.CommPort = CInt(GetSetting("xCOM", "Parameter", "ComPort", 1))
frmMain.MSComm1.Settings = GetSetting("xCOM", "Parameter", "Settings", "9600,n,8,1")
frmMain.MSComm1.PortOpen = True
frmMain.CmdAction(0).Enabled = True
frmMain.Shape1.FillColor = vbGreen
Unload Me

Exit Sub
Open_Err:
MsgBox "(" & Err.Number & ") " & Err.Description, vbExclamation + vbOKOnly, "RS232"
frmMain.Shape1.FillColor = vbRed
If frmMain.MSComm1.PortOpen Then frmMain.MSComm1.PortOpen = False
End Sub

Private Sub Form_Load()
Dim xArray, xParse
Dim xCnt%
If frmMain.MSComm1.PortOpen Then frmMain.MSComm1.PortOpen = False
frmMain.Shape1.FillColor = vbRed
frmMain.CmdAction(0).Enabled = False
xCnt = 0
Combo1.ListIndex = CInt(GetSetting("xCOM", "Parameter", "ComPort", 1)) - 1
xArray = Split(GetSetting("xCOM", "Parameter", "Settings", "9600,n,8,1"), Chr(44), -1)
For Each xParse In xArray
    xComSetting(xCnt) = xParse
    xCnt = xCnt + 1
Next
Select Case xComSetting(0)
Case "1200"
    xCnt = 0
Case "2400"
    xCnt = 1
Case "4800"
    xCnt = 2
Case "9600"
    xCnt = 3
Case "14400"
    xCnt = 4
Case "28800"
    xCnt = 5
Case "33600"
    xCnt = 6
Case "55600"
    xCnt = 7
End Select
Combo2.ListIndex = xCnt

Select Case xComSetting(1)
Case "n"
    xCnt = 0
Case "e"
    xCnt = 1
Case "o"
    xCnt = 2
Case "m"
    xCnt = 3
Case "s"
    xCnt = 4
End Select
Combo3.ListIndex = xCnt

Select Case xComSetting(2)
Case "6"
    xCnt = 0
Case "7"
    xCnt = 1
Case "8"
    xCnt = 2
End Select
Combo4.ListIndex = xCnt

Select Case xComSetting(3)
Case "1"
    xCnt = 0
Case "1.5"
    xCnt = 1
Case "2"
    xCnt = 2
End Select
Combo5.ListIndex = xCnt

End Sub