2009-04-01 13 views
0

Quelle est la méthode recommandée pour placer une instance RadElement sur un formulaire?Placement d'un formulaire StackLayoutPanel Telerik Winforms sur un formulaire

Voici le code de mon constructeur de formulaire. Mon objectif est que le formulaire affiche une barre de défilement si elle est suffisamment petite. Le code sous #else implique des contrôles Winforms standard et fonctionne correctement. Le code sous #if Telerik est équivalent, mais ne fonctionne pas car je ne peux pas ajouter un StackLayoutPanel à la collection Controls d'un formulaire. Ce qui serait parfait si quelqu'un pouvait répondre avec une version modifiée du code #if Telerik ci-dessous qui place le StackLayoutPanel sur le formulaire de sorte que les barres de défilement du formulaire apparaissent lorsque le formulaire est plus petit que le 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 

Répondre

1

Vous pouvez ajouter le StackLayoutPanel dans un contrôle de premier panneau:

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

Salut @ Mike, sous la forme que j'ajouté le StackLayoutPanel. Maintenant, comment ajouter d'autres contrôles dans le panneau de la pile? –

Questions connexes