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

 

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


 

 

你可能感兴趣的:(VB.NET)