首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

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

2013-08-01 
关于winform的用户控件问题我做了一个用户控件,里面就一个Panel,我在其他界面上拖放了这个用户控件,有什么

关于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, "可二次设计的子控件");



            }
        }
    }
}

热点排行