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


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值