读书人

关于winform的用户控件有关问题

发布时间: 2013-08-01 15:23:18 作者: rapoo

关于winform的用户控件问题
我做了一个用户控件,里面就一个Panel,我在其他界面上拖放了这个用户控件,有什么办法往这个用户控件的Panel里面再拖放别的控件呀,用户控件里的Panel的Modifiers属性已经设置成Public了,求高手指点啊
将此Panel设为Public

4.为此UserControl1控件增加一个Desginer(网上查其含义)

 



5.为UserControl1增加Designer,最后UserControl1的声明为:



如果没有给UserControl1增加Desginer,也就是如果声明UserControl1时没有[Designer(typeof(UserControl1Designer))]这一行的话,UserControl1中的panel1是无法编辑的。为了说明情况,将UserControl1的BorderStyle设置为Fixed3D,将panel1的BorderStyle设置成FixedSingle。


[解决办法]
UserControl1的完整定义:
注意:添加system.desgin.dll 引用

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Windows.Forms.Design;

namespace WindowsFormsApplication1
{
[Designer(typeof(UserControl1Designer))]
public partial class UserControl1 : UserControl
{
public UserControl1()
{
InitializeComponent();
}
}

class UserControl1Designer : ScrollableControlDesigner
{
public override void Initialize(IComponent component)
{
base.Initialize(component);
if (this.Control is UserControl1)
{

this.EnableDesignMode((
(UserControl1)this.Control).panel1, "可二次设计的子控件");



}
}
}
}

读书人网 >C#

热点推荐