none
如何动态继承窗体 RRS feed

  • 问题

  • 有没有办法动态继承WinForm窗体,给定一个变量当变量为0时,继承Form1;当变量为1时,继承Form2
    这种可以实现吗,请各位大神指教!
    2013年2月4日 15:22

答案

  • 你可以换一种方式设想,当变量为 0 时创建继承 Form1 的窗体,当变量为 1 时创建继承 Form2 的窗体。

    知识改变命运,奋斗成就人生!

    2013年2月5日 0:35
    版主
  • 动态继承?还是选择性创建?

    可以按照小勇大大的思路往下延伸一下:

    Code:

    调用:

    var o = ObjectFactory.Create(i);

    ------------

    定义:

    class ObjectFactory() {

    static Form Create(i) {

    if (i == 0) return new Form1();

    if (i == 1) return new Form2();

    throw new Exception("no provide");

    }

    }

    2013年2月5日 2:19
  • 可以使用if语句进行判断

    动态继承?还是选择性创建?

    可以按照小勇大大的思路往下延伸一下:

    Code:

    调用:

    var o = ObjectFactory.Create(i);

    ------------

    定义:

    class ObjectFactory() {

    static Form Create(i) {

    if (i == 0) return new Form1();

    if (i == 1) return new Form2();

    throw new Exception("no provide");

    }

    }


    2013年2月15日 10:05

全部回复

  • 你可以换一种方式设想,当变量为 0 时创建继承 Form1 的窗体,当变量为 1 时创建继承 Form2 的窗体。

    知识改变命运,奋斗成就人生!

    2013年2月5日 0:35
    版主
  • 动态继承?还是选择性创建?

    可以按照小勇大大的思路往下延伸一下:

    Code:

    调用:

    var o = ObjectFactory.Create(i);

    ------------

    定义:

    class ObjectFactory() {

    static Form Create(i) {

    if (i == 0) return new Form1();

    if (i == 1) return new Form2();

    throw new Exception("no provide");

    }

    }

    2013年2月5日 2:19
  • 可以使用if语句进行判断

    动态继承?还是选择性创建?

    可以按照小勇大大的思路往下延伸一下:

    Code:

    调用:

    var o = ObjectFactory.Create(i);

    ------------

    定义:

    class ObjectFactory() {

    static Form Create(i) {

    if (i == 0) return new Form1();

    if (i == 1) return new Form2();

    throw new Exception("no provide");

    }

    }


    2013年2月15日 10:05