您的位置:首页 > 编程语言 > VB

vb.net 类中属性中的事件 并向新加窗体中用代码添加控件

2013-06-10 10:28 597 查看
 

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


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: