0

我的应用程序中有许多用户控件。其中一些是其他人的父控件。每个用户控件都有显示消息的标签。我想编写一个函数,如下所示:

public void ShowMessageInParent(UserControl control,string msg)
        { 
            //get 1st parent control and show message on its label.                   
        }

我该怎么做?

4

2 回答 2

0

我想你写了一个 CustomUserControl 女巫,里面有一个标签控件。

如果是这样,您应该使用

control.Parent.Controls.Find("Label", false);
于 2012-09-26T10:32:29.310 回答
0

以下内容适用于 WPF 或 WinForms - 正如您所说的为时已晚,您正在谈论 ASP.NET:

我会创建一个事件StatusMessageChanged,其对应的类派生自EventArgs. 如果要更改消息,请调用事件。如果父控件已附加到事件,它可以评估参数并显示消息。

public class StatusMessageChangedEventArgs : EventArgs
{
    public StatusMessageChangedEventArgs(string message)
    {
        Message = message;
    }

    public string Message
    {
        get;
        private set;
    }
}

public event<StatusMessageChangedEventArgs> StatusMessageChanged;

protected void OnStatusMessageChanged(string message)
{
    if (StatusMessageChanged != null)
        StatusMessageChanged(this, new StatusMessageChangedEventArgs(message));
}
于 2012-09-26T10:29:26.783 回答