La création d'un contrôle onglet avec une dynamique de nombre d'onglets dans Visual Studio C#
Comment créer un onglet de contrôle de la dynamique, le nombre d'onglets dans Visual Studio C#?
J'ai une base de données avec une table customers
. J'ai besoin de créer une forme qui permettrait d'afficher les onglets avec les premières lettres du nom de famille (seulement les premières lettres, pour lesquelles il y a des entrées dans la table devrait être présent). Chaque onglet contient un contrôle DataGrid avec les clients. - Je me connecter à la base de données en utilisant un jeu de données.
Où dois-je insérer le fragment de code qui permettrait de générer de tels onglets? Puis-je faire avec l'existant onglet contrôle ou devrais-je créer un contrôle personnalisé?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez créer des onglets avec le TabControl. Voici un exemple de comment cela peut être fait en quelque sorte dans une sorte de pseudo-code de formulaire...
Vous devez ajouter le code pour générer les onglets où vous déterminer ce que les lettres doivent être présentées, probablement lorsque vous récupérer les données ou dans la forme du
OnLoad()
méthode. Vous devriez être en mesure d'ajouter dynamiquement/supprimer des onglets du haut-dans l'onglet contrôle. Vous pouvez vérifier le code de concepteur pour une idée de comment le faire, ou de la documentation.Noter qu'il n'est pas forcément une bonne idée d'ajouter un onglet séparé pour chaque personnage. 26 onglets (qui va se passer quand votre base de données est assez grande) est un affreux nombre d'onglets pour quelqu'un de regarder à travers-- il ne sera pas nécessairement rendre les choses plus vite à tous.
Au lieu de cela, envisager de fournir une dynamique mécanisme de filtrage, semblable à la boîte de recherche sur Vista start menu. Votre utilisateur peut taper un caractère unique (en supposant que vous n'avez pas écrit une sorte de kiosque ou de l'écran tactile-logiciel uniquement) et zoom immédiatement à l'noms pertinents. Ce serait de travailler avec idéalement un
ListView
dans la Liste ou Détails mode.Je ne me souviens pas des détails. Mais il suffit de regarder le code dans le XXX.le concepteur.cs fichier pour un formulaire qui contient un contrôle onglet. Là, vous verrez le code généré pour ajouter un nouvel onglet. De simplement reproduire ces lignes, vous pouvez ajouter un nouvel onglet à chaque fois que vous le souhaitez.
Il sonne comme le meilleur itinéraire pour vous serait de créer votre propre onglet personnalisé de la classe de contrôle. Elle pourrait hériter de l'onglet contrôle de la majeure partie de ses fonctionnalités et les propriétés de la grille de données et tout autre élément personnalisé dont vous avez besoin. Puis, quand vous obtenez vos clients, vous pouvez créer un onglet pour chaque lettre que vous avez besoin de configuration et les propriétés correspondantes.