0

アプリケーションに多くのユーザー コントロールがあります。その中には、他の親コントロールもあります。すべてのユーザーコントロールには、表示メッセージのラベルがあります。以下のような関数を書きたいと思います:

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

どうすればいいですか?

4

2 に答える 2

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 に答える
0

CustomUserControl ウィッチの中にラベル コントロールがあると書いたと思います。

もしそうなら、あなたは使うべきです

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