从类本身引发自定义控件的事件

本文关键字:自定义控件 事件 | 更新日期: 2023-09-27 18:33:38

我有一个自定义TabPage类:

class CustomTabPage : TabPage
{
    TextBox tbCode = new TextBox();
    public CustomTabPage()
    {
    }
    public CustomTabPage(string title)
    {
        tbCode.Multiline = true;
        tbCode.Size = this.Size;  
    }        
    //Something like this...
    private void OnThisControlSizeChanged()
    {
        tbCode.Size = this.Size;
    }
}

对于此类,我需要在从创建控件的位置调整其大小时引发TabPage控件的OnSizeChanged事件。这样做的原因是当我调整TabPage控件的大小时,我想相应地调整TextBox大小,以便它们保持不变。

从类本身引发自定义控件的事件

class CustomTabPage : TabPage
{
    TextBox tbCode = new TextBox();
    public CustomTabPage()
    {
        SizeChanged += CustomTabPage_SizeChanged;
    }
    void CustomTabPage_SizeChanged(object sender, EventArgs e)
    {
        OnThisControlSizeChanged();
    }
    public CustomTabPage(string title)
    {
        tbCode.Multiline = true;
        tbCode.Size = this.Size;
    }
    private void OnThisControlSizeChanged()
    {
        tbCode.Size = this.Size;
    }
}
this.OnSizeChanged(new EventArgs());