我的应用程序中有许多用户控件。其中一些是其他人的父控件。每个用户控件都有显示消息的标签。我想编写一个函数,如下所示:
public void ShowMessageInParent(UserControl control,string msg)
{
//get 1st parent control and show message on its label.
}
我该怎么做?
我的应用程序中有许多用户控件。其中一些是其他人的父控件。每个用户控件都有显示消息的标签。我想编写一个函数,如下所示:
public void ShowMessageInParent(UserControl control,string msg)
{
//get 1st parent control and show message on its label.
}
我该怎么做?
我想你写了一个 CustomUserControl 女巫,里面有一个标签控件。
如果是这样,您应该使用
control.Parent.Controls.Find("Label", false);
以下内容适用于 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));
}