2010-11-12 6 views
0

est-il un moyen (peut-être avec P/Invoke) à garantie que la barre de défilement horizontale jamais apparaître dans un usercontrol? Il semble que même lorsque la propriété autoscroll est définie sur false, elle s'affiche parfois.Empêcher l'affichage de la barre de défilement horizontale? (C#)

+0

Avez-vous essayé 'HScroll = false'? –

+0

Je pense que la propriété AutoScroll fonctionne assez –

+0

J'ai eu votre problème Voir ma réponse –

Répondre

0

En fait, votre formulaire définit UserControl avec les anciennes propriétés.

donc vous devez faire

  • changement retour UserControl.AutoScroll=False;
  • Reconstruire votre application
  • Redrag votre UserControl sur la place du Vieux One

Explication:
Lorsque vous faites glisser votre UserControl à ce moment Le Designer a défini les propriétés dans FormD eginer (vérifier votre formulaire Deginer) Maintenant, après la modification des propriétés de votre UserControl, puis en ajoutant qu'il est défini par les nouvelles propriétés de nouvelle instance de contrôle, mais n'a pas changé de vieux ...

+0

Ce n'est pas la réponse, im ajoutant mon UserControl par programme. Donc le concepteur ne fait rien. – caesay

+0

Ainsi, au moment où vous ajoutez votre contrôle utilisateur, ajoutez simplement UserControl_name.AutoScroll = false; –

+0

Je l'ajoute. Cela montre encore. – caesay

0

Avez-vous essayé: this.HorizontalScroll.Visible = false;?

+0

oui - comportement très étrange en effet. – caesay

+0

Même en le définissant sur false, lorsque j'ajoute un contrôle avec une largeur supérieure à celle de mon contrôle, il s'affiche. – caesay

+0

Essayez également de définir la propriété 'MaximumSize' si vous ajoutez des contrôles plus gros. – CodingGorilla

0

Pour certains contrôles vous pouvez définir l'attribut ScrollBars à ce que vous voulez. Ceci est un exemple pour une zone de texte riche, vous trouverez peut-être utile (vous pouvez en trouver un pour ce que vous héritez de), dans le jeu d'initialisation:

rtbText.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.Vertical 

Pour les conteneurs, vous pouvez utiliser les HScrollProperties, que vous pouvez régler la Activé/Désactivé sur les conteneurs. E.g. Ne pas avoir de barre de défilement horizontale sur un conteneur.

userControlInstance.HorizontalScroll.Enabled = False; 
Questions connexes