VB6中,类模块代码
Option Explicit
Private WithEvents cFrame As MSForms.Frame
Private WithEvents cOption As MSForms.OptionButton
Private WithEvents cTextBox As MSForms.TextBox
Public Sub Attach(f As MSForms.Frame, p As MSForms.OptionButton, t As MSForms.TextBox)
Set cFrame = f
Set cOption = p
Set cTextBox = t
End Sub
Public Event OptionButtonClicked()
Private Sub cOption_Click()
cFrame.Tag = cOption.Caption
RaiseEvent OptionButtonClicked
End Sub
窗体代码
Option Explicit
Dim cls() As New 类1
Private Sub CommandButton3_Click()
Unload Me
主页胸部肿瘤.Show
End Sub
Private Sub CommandButton35_Click()
Unload Me
主页恶性肿瘤分期.Show
End Sub
Private Sub TextBox100_Change()
Dim Mystr As String
Mystr = CStr(Frame1.Tag) & CStr(Frame2.Tag) & CStr(Frame3.Tag)
TextBox100.Text = Mystr
Select Case Mystr
Case "T1aN1M0"
TextBox200.Text = "IIB期(AJCC第8版)"
Case "T1aN2M0"
TextBox200.Text = "IIIA期(AJCC第8版)"
Case Else
TextBox200.Text = "?"
End Select
Dim Mystr2 As String
Mystr2 = CStr(Frame3.Tag)
TextBox100.Text = CStr(Frame1.Tag) & CStr(Frame2.Tag) & Mystr2
Select Case Mystr2
Case "M1a"
TextBox200.Text = "IVA期(AJCC第8版)"
Case "M1b"
TextBox200.Text = "IVA期(AJCC第8版)"
End Select
End Sub
Private Sub Me_Initialize()
Dim ctl As Control, c As Control, N%
For Each ctl In Me.Controls
If TypeName(ctl) = "Frame" Then
For Each c In ctl.Controls
If TypeName(c) = "OptionButton" Then
N = N + 1: ReDim Preserve cls(1 To N)
cls(N).Attach ctl, c, TextBox100
End If
Next
End If
Next
End Sub
Private Sub OptionButton_Clicked()
cFrame.Tag = cOption.Caption
cTextBox.Text = TextBox100.Text & cFrame.Tag & cOption.Caption
RaiseEvent OptionButtonClicked
End Sub
运行后Option.Caption不能赋值给TextBox100,不知道哪里出的问题,代码如何修改?
首先,谢谢老师的回答。但根据老师修改的代码,Option仍然不能赋值给TextBox100。