自定义控件 未将对象引用设置到对象的实例

caiying_163 2010-10-19 10:57:26
我写了一个自定义控件,多选框窗体,主要代码如下
public partial class FormGroupEditorControl
{
//EnumFormGroups 是个枚举,定义了HEAD,BODY1....
private EnumFormGroups m_FormGroups = new EnumFormGroups();

public EnumFormGroups FormGroups
{
get
{
EnumFormGroups ret = default(EnumFormGroups);
if (chkHead.Checked)
ret = ret | EnumFormGroups.HEAD;
if (chkBody1.Checked)
ret = ret | EnumFormGroups.BODY1;
if (chkBody2.Checked)
ret = ret | EnumFormGroups.BODY2;
if (chkBody3.Checked)
ret = ret | EnumFormGroups.BODY3;
if (chkBody4.Checked)
ret = ret | EnumFormGroups.BODY4;
if (chkBody5.Checked)
ret = ret | EnumFormGroups.BODY5;
return ret;
}
set { m_FormGroups = value; }
}

private void FormGroupEditorControl_Load(object sender, EventArgs e)
{

if ((m_FormGroups & EnumFormGroups.HEAD) == EnumFormGroups.HEAD)
chkHead.Checked = true;
if ((m_FormGroups & EnumFormGroups.BODY1) == EnumFormGroups.BODY1)
chkBody1.Checked = true;
if ((m_FormGroups & EnumFormGroups.BODY2) == EnumFormGroups.BODY2)
chkBody2.Checked = true;
if ((m_FormGroups & EnumFormGroups.BODY3) == EnumFormGroups.BODY3)
chkBody3.Checked = true;
if ((m_FormGroups & EnumFormGroups.BODY4) == EnumFormGroups.BODY4)
chkBody4.Checked = true;
if ((m_FormGroups & EnumFormGroups.BODY5) == EnumFormGroups.BODY5)
chkBody5.Checked = true;
}

本来我想把这个属性增加到一个自定义属性中弹出选择的,但发现点击没弹出控件,直接把自定义控件拖到界面上,提示“未将对象引用设置到对象的实例”
如果我加了这段代码:
public FormGroupEditorControl()
{
Load += FormGroupEditorControl_Load;
}
控件能拖到窗体上,但现实是一片空白。
现在不知道应该怎么写了,望各位指点!!!!
...全文
133 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
caiying_163 2010-10-19
  • 打赏
  • 举报
回复
我是对vb.net的自定义控件重写的,忘了在构造函数中加这个了
cch5487614 2010-10-19
  • 打赏
  • 举报
回复
自带的initComponent()方法呢?
VS是通过这个方法来绘图的。你的构造函数中需要这个方法。
这个方法是VS根据你拖拽的控件自动生成的

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧