Размещение Telerik Winforms StackLayoutPanel на форме - PullRequest
0 голосов
/ 01 апреля 2009

Каков рекомендуемый способ размещения экземпляра RadElement на форме?

Ниже приведен код из моего конструктора форм. Моя цель состоит в том, чтобы форма показала полосу прокрутки, если она достаточно мала. Код под #else включает стандартные элементы управления Winforms и работает нормально. Код под #if Telerik эквивалентен, но не работает, потому что я не могу добавить StackLayoutPanel в коллекцию Controls формы. Было бы замечательно, если бы кто-то мог ответить с измененной версией кода Telef #if ниже, который помещает StackLayoutPanel в форму так, что полосы прокрутки формы появляются, когда форма имеет размер меньше, чем панель.

    AutoScroll = true;
#if Telerik
    StackLayoutPanel panel = new StackLayoutPanel();
    panel.Orientation = Orientation.Vertical;
    panel.AutoSize = true;
    panel.Children.Add(new RadButtonElement());
    panel.Children.Add(new RadButtonElement());
    panel.Children.Add(new RadButtonElement());
    panel.Children.Add(new RadButtonElement());
    panel.Children.Add(new RadButtonElement());
    panel.Children.Add(new RadButtonElement());
    panel.Children.Add(new RadButtonElement());
    panel.Children.Add(new RadButtonElement());
    panel.Children.Add(new RadButtonElement());
    panel.Children.Add(new RadButtonElement());
    Controls.Add(panel);
#else
    FlowLayoutPanel panel = new FlowLayoutPanel();
    panel.FlowDirection = FlowDirection.TopDown;
    panel.AutoSize = true;
    panel.Controls.Add(new Button());
    panel.Controls.Add(new Button());
    panel.Controls.Add(new Button());
    panel.Controls.Add(new Button());
    panel.Controls.Add(new Button());
    panel.Controls.Add(new Button());
    panel.Controls.Add(new Button());
    panel.Controls.Add(new Button());
    panel.Controls.Add(new Button());
    panel.Controls.Add(new Button());
    Controls.Add(panel);
#endif

1 Ответ

1 голос
/ 06 апреля 2009

Вы можете сначала добавить StackLayoutPanel в элемент управления панели:

var panelControl = new RadPanel();
panelControl.PanelElement.Children.Add(panel);
Controls.Add(panelControl);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...