Public Class Form1 WithEvents s As New Student Dim ss As New Student Private Sub s_Fail(ByVal frm As Form, ByVal str As String) Handles s.Fail Dim g As Graphics = frm.CreateGraphics Dim f As Font = New Font("宋体", 30, FontStyle.Bold) Dim br As SolidBrush = New SolidBrush(Color.Red) frm.Size = New Size(400, 500) Dim z_text = New TextBox z_text.Location = New System.Drawing.Point(70, 80) z_text.Size = New Size(120, 21) z_text.Text = str frm.Show() frm.Controls.Add(z_text) g.DrawString(str, f, br, 30, 40) End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click s.学号 = Val(TextBox1.Text) s.姓名 = TextBox2.Text s.成绩 = Val(TextBox3.Text) End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Debug.WriteLine(s.学号) Debug.WriteLine(s.姓名) Debug.WriteLine(s.成绩) End Sub End Class Public Class Student Private No As Integer Private Name As String Private Score As Integer Public Event Fail(ByVal frm As Form, ByVal str As String) Public Sub New() No = 123 Name = "zxl" Score = 100 End Sub Public Property 学号() As Integer Get Return No End Get Set(ByVal value As Integer) If value <> 0 Then No = value End If End Set End Property Public Property 姓名() As String Get Return Name End Get Set(ByVal value As String) If value <> "" Then Name = value End If End Set End Property Public Property 成绩() As Integer Get Return Score End Get Set(ByVal value As Integer) Score = value If value <> 0 Then If (Score < 60) Then RaiseEvent Fail(New Form, "成绩:::" + value.ToString()) End If End If End Set End Property End Class