Bonsoir,
Je travaille actuellement sur un petit projet de lecteur audio que je code en C# sous Visual Studio 2003. Cette version date mais voulant présenter ce projet pour mes examens j'ai cette contrainte lié au logiciel qui sont installé dans mon etablissement scolaire (faudrait quand même se mettre à jours un jours...bref).
Ayant fait des applications Windows Forms sous Vb c'est la première fois que j'en fait une en C#. Et pour changer de ce que j'ai fait jusqu'à maintenant je voulais travailler un peu (beaucoup) plus le design.
Dans mon application je voudrais donc pouvoir utiliser un DataGrid pour afficher soit la bibliothèque de chanson, soit une playliste. Et c'est ce même DataGrid que je voudrais rendre un peu plus beau. Je désirerais pouvoir le re-dessiner.. J'aimerais aboutir à un résultat un peu similaire au même genre de tableau que l'on trouve sur Itune ou Spotify. Cependant après de longues heures de recherches je n'ai pas trouvé d'information qui m'ai beaucoup fait avancer. J'ai juste compris qu'on pouvais surcharger les méthodes de la classe DataGrid en la dérivant tel que onPaint, onClick,.....
J'aimerais par exemple pouvoir modifier les entêtes de colonnes. Pas la couleur, ni la police mais par exemple les bordures qui sépare chaque entêtes. Je n'ai déjà pas trouvé d'option pour changer cela. Ensuite j'aimerais pouvoir sur ces même entêtes crée un dégradé.
Autre questions mais plus lié sur le fonctionnel. Quand on clique sur une cellule d'un DataGrid, on peut éditer ladite cellule. Je voudrais, comme sur la plupart des soft audio, quand on clique sur une cellule cela sélectionne là ligne, sans qu'on ai de textbox dedans, et que sa couleur change. Pour la surbrillance j'ai déjà trouvé une première solution, cependant le fait qu'il y ai encore la cellule qui soit éditable donne l'impression que la ligne clignote avant de mettre la couleur de surbrillance.
Dernière question. En VB j'avais pour habitude d'utiliser monDataGrid.currentRowIndex pour récuperer la ligne qui a été selectionné. Cependant en C# je n'arrive pas à faire fonctionner cela, la valeur renvoyée est toujours égale à 0. J'ai trouvé une pseudo solution pour récuperer la ligne sélectionné qui utiliser DataGrid.HitTestInfo et monDataGrid.HitTest mais je trouve ça un peu lourd, surtout que currentRowIndex est censé renvoyé la l'index de la ligne. Donc où peut être le problème?
Je vous remercie d'avance pour votre aide.
Partager