Редактируемый регион в пользовательском элементе управления - PullRequest
0 голосов
/ 23 марта 2012

Я разрабатываю элемент управления, который наследуется от System.Windows.Form.Panel.Идея очень проста: панель инструментов в нижней части панели, область, в которой вы можете удалить любой элемент управления, какой захотите.Для этой области я думаю о панели, делающей эту панель общедоступной, и пользователю разрешено оставлять элемент управления только там.Я не знаю, кто-нибудь из вас работает с групповой коробкой от kypton?У вас есть элемент управления групповым блоком и внутри панели, и если вы видите контур документа, вы заметите что-то вроде этого: kryptongroupbox1 | -> panel1.И все элементы управления сброшены на панели 1. Я хочу сделать что-то подобное.Любая идея?

Вот мой код:

public partial class GridPanel : Panel
{

    private System.Windows.Forms.ToolStripButton cb_print;
    private System.Windows.Forms.ToolStripButton cb_excel;
    private System.Windows.Forms.ToolStrip tool;
    private System.Windows.Forms.ToolStripButton cb_filter;
    private System.Windows.Forms.ToolStripButton cb_ocultar;
    private System.Windows.Forms.ToolStripButton cb_restaurar;
    private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
    private System.Windows.Forms.ToolStripLabel lb_cantrow;

    [Description("The internal panel that contains group content.")]
    [Localizable(false)]
    [Category("Appearance")]
    [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
    public Panel Panel { get; set; }

    public GridPanel()
    {
        InitializeComponent();
        InitCustomComp();
        this.Panel = new Panel{ Dock = DockStyle.Fill, BackColor = Color.Transparent };
        this.Controls.Add(Panel);
       // this.Controls.Add(new KryptonDataGridView { Dock = DockStyle.Fill });
    }

    private void InitCustomComp()
    {

       // the creation of the toolbar
    }

    public GridPanel(IContainer container)
    {
        container.Add(this);

        InitializeComponent();
    }
}

с моим подходом я могу отбросить элементы управления в своем пользовательском элементе управления, но когда я закрепляю (заполняю) один из них, он помещается во всю область элемента управления.за моей панелью инструментов

Извините, если объяснение немного запутано.Английский не мой родной язык.

1 Ответ

0 голосов
/ 23 марта 2012

Возможно, элемент управления добавлен на внешнюю панель вместо внутренней панели.

Эта проблема описана в этой статье The Code Project: Разработка вложенных элементов управления . Генри Минут объясняет, как он решил эту проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...