none
C# UserControl 的构造函数能不能带参数? RRS feed

  • 问题

  • 我的UserControl控件是带界面的,而且界面上显示的信息项与外界的设置有关,比如如果外界传入1,我接显示文本框,否则显示一张图片,我想在控件的构造函数中加上参数,但是一加上参数,在工具箱中加载控件的时候就报错:没有可加载到工具箱的COM组件?请问我该如何实现此功能?谢谢!
    guiwenyang
    2009年12月11日 10:42

答案

  • 你好!
         设计器加载控件的时候需要调用无参的构造函数,所以你必须提供一个无参的构造函数!
    周雪峰
    • 已标记为答案 guiwenyang 2009年12月11日 13:20
    2009年12月11日 11:12
    版主
  • 我已经找到问题了,是我的控件的构造函数加参数导致的,谢谢
    guiwenyang
    • 已标记为答案 guiwenyang 2009年12月11日 13:19
    • 已标记为答案 guiwenyang 2009年12月15日 7:37
    2009年12月11日 13:19

全部回复

  • C#在工具箱中加载自制控件时,报没有可加载的COM组件,是什么原因?
    guiwenyang
    2009年12月11日 8:57
  • 你把你的COM组件注册下
    注册dll 或者ocx 利用regsvr32命令

    努力+方法=成功
    2009年12月11日 9:14
  • 你可以写两个构造函数,一个带参数,一个不带

    string b;
          public UserControl1()
            {
                InitializeComponent();
            }

            public UserControl1(string a)
            {
                InitializeComponent();
                b=a;
            }
    努力+方法=成功
    2009年12月11日 10:53
  • 你好!
         设计器加载控件的时候需要调用无参的构造函数,所以你必须提供一个无参的构造函数!
    周雪峰
    • 已标记为答案 guiwenyang 2009年12月11日 13:20
    2009年12月11日 11:12
    版主
  • 你好!
         你的控件是怎样定义的,如果方便的话请提供相应的代码?
    周雪峰
    2009年12月11日 11:13
    版主
  • 我已经找到问题了,是我的控件的构造函数加参数导致的,谢谢
    guiwenyang
    • 已标记为答案 guiwenyang 2009年12月11日 13:19
    • 已标记为答案 guiwenyang 2009年12月15日 7:37
    2009年12月11日 13:19