控制创建事件 [英] Control Created event

查看:57
本文介绍了控制创建事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我在VB.Net中创建了一个类,它继承了面板类,所以我将它用作我的应用程序中的控件。我如何捕获何时创建此控件作为事件?

我尝试调整大小的事件,定义一个第一次为false的布尔值,并在第一次调整大小事件时变为true,因此将发生一次,所以我认为它会在设计师创建时调用resize事件,但事实并非如此。这是我的代码:

Hi,
I've created a class in VB.Net, it inherits panel class, so I'll use it as a control in my application. How can I catch "when this control is created" as event?
I tried resized event defining a boolean that is false at the first time, and becomes true at first resize event, so will occur once, so I tought it would call resize event when it is created by designer, but it didn't. Here is my code:

Public Class ScrollPanel
    Inherits Panel
    Dim pnl As New Panel With {.Location = New Point(0, 0), .Size = New Size(Me.Width - 10, Me.Height), .BackColor = Color.White}
    Dim kgOk As Boolean = False

    Private Sub SC() Handles MyBase.SizeChanged
        If Not kgOk Then
            Controls.Add(pnl)
            kgOk = True
        End If
    End Sub
End Class

推荐答案

不确定你想要什么,但似乎你想使用构造函数。



课程定义:

Not sure what you want, but it seems like you want to use constructor.

Class definition:
Public Class ScrollPanel
    Inherits Panel

    Private sText As String = "New Panel"

    Public Sub New()
        MsgBox(String.Concat(sText, " has been created!"), MsgBoxStyle.Information, "Message")
    End Sub



    Protected Overrides Sub Finalize()
        MyBase.Finalize()
    End Sub
End Class





用法:



Usage:

Dim sp As ScrollPanel = New ScrollPanel With {.Parent = Me, .Size = New Size(100, 100), .Location = New Point(80, 80), .Visible = True}





更多:

使用构造函数和析构函数 [ ^ ]


这篇关于控制创建事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆