如何在用户自定义的构造函数中传入相应的参数。 public partial class UserControl1 : UserControl
{
public UserControl1(bool temp)
{
InitializeComponent();
textBox1.Enabled = temp;
}
}
以上是这个用户自定义的控件的默认构造函数,编译能通过,但是当把这个控件拖放到主窗体时,会出现报错,因为没有找到默认的构造函数,然后我到主窗体的 InitializeComponent()里面加入相应的语句。如下》
{
//
// UserControl1
//
this.userControl1.Location = new System.Drawing.Point(100,37);
this.userControl1.Name = "Jacky";
this.userControl1.Size = new System.Drawing.Size(200, 300);
this.userControl1.TabIndex = 1; this.Controls.Add(this.userControl1);} private UserControl1 userControl1 = new UserControl1(false); //此处进行这个构造函数的调用,
但是回到主窗体的设计界面,报错!
错误提示为:
变量“userControl1”未声明或从未赋值,可是在主窗体的InitializeComponet(){}下面我明明是加入了
private UserControl1 userControl1 = new UserControl1(false);
请大家发表发表个人看法。
当然用属性是可以实现的,但我不想用属性那么麻烦。
高手顺便讲一讲原理,为什么用户控件的构造函数就不能加上参数呢?而窗体就能加上参数传递。谢谢各位大虾。
{
public UserControl1(bool temp)
{
InitializeComponent();
textBox1.Enabled = temp;
}
}
以上是这个用户自定义的控件的默认构造函数,编译能通过,但是当把这个控件拖放到主窗体时,会出现报错,因为没有找到默认的构造函数,然后我到主窗体的 InitializeComponent()里面加入相应的语句。如下》
{
//
// UserControl1
//
this.userControl1.Location = new System.Drawing.Point(100,37);
this.userControl1.Name = "Jacky";
this.userControl1.Size = new System.Drawing.Size(200, 300);
this.userControl1.TabIndex = 1; this.Controls.Add(this.userControl1);} private UserControl1 userControl1 = new UserControl1(false); //此处进行这个构造函数的调用,
但是回到主窗体的设计界面,报错!
错误提示为:
变量“userControl1”未声明或从未赋值,可是在主窗体的InitializeComponet(){}下面我明明是加入了
private UserControl1 userControl1 = new UserControl1(false);
请大家发表发表个人看法。
当然用属性是可以实现的,但我不想用属性那么麻烦。
高手顺便讲一讲原理,为什么用户控件的构造函数就不能加上参数呢?而窗体就能加上参数传递。谢谢各位大虾。
解决方案 »
- 请问,如何比较两个数,相同为0,不同为1 或者 相同为1,不同为0?
- 是缺少程序集引用吗?
- wpf开发风险大不大,能向下兼容吗,例如XP那个慢。。。
- 高分求即时通讯源代码,c#,.net!!
- 希望能够深入学习c#,大家能否推荐一些比较好的书。
- 在win2003中如何调用外部dll?我在win2000server中调用一切正常???
- 80分求C# Windows设计的电子书
- Zebra条形码打印机问题!!!!!!!!
- WebService ,Remoting ,Socket全接触
- 请问有谁能看懂这个SocketException报错信息,谢谢
- 求助:点击treeView某节点,在listview中显示其所有子节点
- 求教,VC++轉型C#問題
主窗体已经 InitializeComponent()
this.userControl1.Location = new System.Drawing.Point(100,37);
this.userControl1.Name = "Jacky";
this.userControl1.Size = new System.Drawing.Size(200, 300);
this.userControl1.TabIndex = 1; this.Controls.Add(this.userControl1);
这时候主窗体能认识userControl1这东西吗??
然后才实例化类成员
http://topic.csdn.net/u/20080828/10/4abc97a2-9519-44f0-8f09-77780a198a1d.html
private UserControl1 userControl1 = new UserControl1(false); //此处进行这个构造函数的调用, 这个是你的....你是私有的.....你认为私有的别人能访问吗?UP,拿点小分,呵呵
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;namespace WindowsFormsControlLibrary1
{
public partial class UserControl1 : UserControl
{
public UserControl1(int x)
{
InitializeComponent();
label1.Text = x.ToString();
}
}
}
form1:using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using WindowsFormsControlLibrary1;namespace WindowsFormsApplication15
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
UserControl1 c = new UserControl1(1000);
c.Parent = this;
}
}
}
你不能直接拖一个到窗口,会报错,但可以动态生成