代码之家  ›  专栏  ›  技术社区  ›  Anirudh Goel

在C中公开并引发UserControl中子控件的事件#

  •  24
  • Anirudh Goel  · 技术社区  · 15 年前

    你好。我有一个包含文本框的用户控件。我想访问文本框的TextChanged事件,但在UserControl的事件属性中,我看不到该文本框的事件。如何使用c_公开winforms中公开的用户控件来公开和处理子控件的特定事件。

    2 回复  |  直到 12 年前
        1
  •  38
  •   Camilo Martin    12 年前

    如果您愿意,可以显示一个新事件并直接将任何订阅传递给控件:

    public class UserControl1 : UserControl 
    {
        // private Button saveButton;
    
        public event EventHandler SaveButtonClick
        {
            add { saveButton.Click += value; }
            remove { saveButton.Click -= value; }
        }
    }
    
        2
  •  2
  •   Ahmed    15 年前

    在用户控件中将整个文本框公开为公共属性,并按您希望的方式订阅它的事件。
    例子:

    class myUserControl: UserControl { 
    private TextBox _myText;
    public TextBox MyText { get {return _myText; } }
    

    }

    这样做之后,您可以订阅它的任何事件,如:

    theUserControl.MyText.WhatEverEvent += ... 
    

    希望这有帮助!