none
菜鸟提问,关于FACADE模式的问题 RRS feed

  • 问题

  • 菜鸟提问,关于FACADE模式的问题
    我的WINDOWSFORM 里有三个按钮,分别调用三个不同的类中的方法。我想把这个调用过程封装到FACADE类中,于是我写了以下的代码:

    按钮一:
    private void button1_Click(object sender, EventArgs e)
    {
    Facade facade = new Facade(sender);
    }
    按钮二:
    private void button2_Click(object sender, EventArgs e)
    {
    Facade facade = new Facade(sender);


    按钮三:
    private void button1_Click(object sender, EventArgs e)
    {
    Facade facade = new Facade(sender);
    }

    FACADE类:
    class Facade
    {
    object senderSouse;
    public Facade(object sender)
    {
    senderSouse = sender;
    }
    }

    我的问题是在FACADE类的构造函数中如何区分(识别)这三个不同的按钮事件。请高手指点。谢谢。


    2011年11月28日 22:12

答案

  • 你好,既然传进来的都是Button,所以你可以在函数体内转化成Button类,然后判断Name即可(因为Name永远是唯一,不能重复的)——

    class Facade
    {
    object senderSouse;
    public Facade(object sender)
    {
    senderSouse = sender;
    Button btn = senderSource as Button;
    if(btn!=null)
    {
         if(btn.Name=="xxxx")
         {
              ………………
         }
         else
         {
             …………………
         }
    }
    }
    }


       QQ我:讨论(Talk)
    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处
    2011年11月30日 2:45
    版主

全部回复