0 votes

Placer un StackLayoutPanel Telerik Winforms sur un formulaire

Quelle est la méthode recommandée pour placer une instance de RadElement sur un formulaire ?

Voici le code du constructeur de mon formulaire. Mon but est que le formulaire affiche une barre de défilement s'il est suffisamment petit. Le code sous #else implique des contrôles Winforms standard et fonctionne bien. Le code sous #if Telerik est équivalent, mais ne fonctionne pas car je ne peux pas ajouter un StackLayoutPanel à la collection de contrôles d'un formulaire. Ce qui serait parfait, c'est que quelqu'un puisse répondre avec une version modifiée du code #if Telerik ci-dessous qui place le StackLayoutPanel sur le formulaire de telle sorte que les barres de défilement du formulaire apparaissent lorsque le formulaire est de taille inférieure au panneau.

    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

1voto

Mike Points 11

Vous pouvez d'abord ajouter le StackLayoutPanel dans un panneau de contrôle :

var panelControl = new RadPanel();
panelControl.PanelElement.Children.Add(panel);
Controls.Add(panelControl);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X