zoukankan      html  css  js  c++  java
  • WPF子界面向父界面传递带参数的委托

    需求如下:

    父界面上有几个按钮,需要在点击按钮的时候向父界面传值,以知道该控制哪个界面显示。

    父界面:WIN1

    子界面:WIN2

    此处或者说是子控件向父控件传值

    1.子界面定义委托

    WIN2里写:

    public delegate void ChangeTextHandler(string text);

    public event ChangeTextHandler ChangeTextEvent;

    2.父界面在加载了子界面之后,注册委托。必须在父界面load的时候或者之前注册

    WIN1里写:

    ucSetting1.ChangeTextEvent += new Control.ucSetting.ChangeTextHandler(ShowMessage);

    这里ucSetting1就是子控件名

    3.然后在父界面写好委托相应的实现函数ShowMessage

    还是在WIN1

      private void ShowMessage(string msgx)                                                

      {

          switch (msgx)

          {

             //DOSTH

          }

      

      }

    4.完了之后要在子界面写触发委托的函数。

    在WIN2写:

    public string text;

    text = "SystemSettingControl"

    if (ChangeTextEvent != null)

    {

        ChangeTextEvent(text);

    }

    然后界面运行的时候就会根据传入的参数执行相应的父界面里的函数.

    其实说白了也挺简单,弄会了的话,并不难

  • 相关阅读:
    linux 操作系统 基础
    [HAOI2011]Problem A
    [HNOI2015] 菜肴制作
    [P3676]小清新数据结构题
    [NOI2016]区间
    [BOI2007]Mokia 摩基亚
    [NOI2012]美食节
    [CQOI2015]网络吞吐量
    [六省联考2017]期末考试
    [HNOI2015]亚瑟王
  • 原文地址:https://www.cnblogs.com/JUSTSOSOBLOG/p/4121744.html
Copyright © 2011-2022 走看看