2009-08-10 8 views
3

J'ai un contrôle splitContainter avec deux panneaux horizontaux. Le panneau supérieur contient une bannière d'identification de patient et le panneau inférieur contient des documents de patient connexes et une vue arborescente. Le contrôle patientBanner provient du NIH du Royaume-Uni et si vous cliquez sur un bouton à l'intérieur du contrôle (flèches double-bas en bas à droite), il affichera plus d'informations sur l'adresse du patient, son téléphone, son email et ses allergies. .Modification dynamique de la taille du panneau splitContainer

Il se développe assez bien, mais je ne sais pas comment faire le splitContainer ajuster de sorte que le panneau supérieur peut afficher toutes les informations.

alt text http://www.intellicure.com/files/DocumentManagerScreenShot.jpg

+0

Pouvez-vous ajouter une capture d'écran ou quelque chose qui visualise votre problème? –

+0

Ajout de la capture d'écran, merci pour la suggestion. –

Répondre

3

Je ne l'ai pas essayé. Mais, je pense que cela devrait fonctionner Assurez-vous que le contrôle est ancré pour remplir le panneau.

splitContainer.IsSplitterFixed = false. 

splitContainer.DataBindings.Add("Height", <yourcontrol>, "Height") 
+0

J'aime l'idée générale d'un DataBinding sur la propriété SplitterDistance. J'utilise VS2008 et je ne suis pas familier avec la création d'un DataBinding personnalisé. –

+0

utiliser exactement le même code que j'ai spécifié. Amarrer votre contrôle pour remplir. splitContainer.DataBindings.Add ("Hauteur", , "Hauteur") est une instance de votre contrôle. Dites-nous si vous n'êtes pas capable de comprendre quoi que ce soit. –

+0

Cela a été problématique dans ma situation spécifique, mais j'ai travaillé avec le développeur de contrôle pour déterminer qu'il y avait un événement SizeChanged que j'ai utilisé pour définir le SplitterDistance à la taille. Merci pour l'aide. –

2

Dans le fragment de code suivant, j'ai ajusté mon contrôle de séparation. J'ai utilisé la largeur de ma commande mise à jour à SplitterDistance. J'espère que cela aide.

public DataTable GridView 
    { 
     get { return dataGridView1.DataSource as DataTable; } 
     set { dataGridView1.DataSource = value; 
      splitContainer1.SplitterDistance = dataGridView1.Width; 
     } 
    } 
Questions connexes