Bonjour,
Je suis entrain de faire un petit programme de gestion d'aliments et de recettes de cuisines en C#, pour apprendre le C# et les interfaces graphiques avec Visual Studio 2005.
J'ai fait un "tabs" (le truc avec plusieurs onglets) et sur chaque page du "tabs" il y a un dataGridView pour afficher, selectionner, enregistrer des aliments ou des recettes. Les dataGridView sont en relation (binding) avec des List<T>.
Mon problème : l'application plante et je ne sais pas pourquoi. Ca plante quand je change de tab. Après avoir fait une action sur le premier tab (exemple : charger une liste, ordonner selon une colonne, enregistrer une liste), je clique sur un autre tab pour changer de page et je clique n'importe où sur la page et ça crash.
Je crois que le problème vient des tabs... mais quoi, pourquoi, comment ?
Le debug me mets sur cette ligne : Application.Run(new Form1());
Avec ce message d'erreur :
IndexOutOfRangeException
Index -1 does not have a value.
???
Donc ça plante sur le lancement de l'application (c'est ce que je comprends par : Application.Run(new Form1())) pourtant l'application est déjà lancée et j'ai déjà fait des actions dessus, moi je constate que ça plante quand je change d'onglet et que je clique sur la page...
Et le "Index -1 does not have a value." je ne comprends pas d'où il sort ?? surtout qu'il me met cette erreur sur "Application.Run(new Form1());" je ne vois pas d'index là-dedans... bref je ne comprends rien et du coup aucune idée comment résoudre ce problème... :S
Avez-vous une idée ?
Merci beaucoup,
Marie
EDIT :
J'ai trouvé le problème...
Apparemment j'avais mis du databinding au mauvais endroit car en changeant cela, ça ne plante plus.
J'avais fait :
public Form1()
{
InitializeComponent();
alimentBindingSource.DataSource = aliments.AlimentsList;
alimentBindingSource1.DataSource = alimentsNewRecette.AlimentsList;
}
et ça plantait
Maintenant :
public Form1()
{
InitializeComponent();
}
et ça ne plante plus (et j'ai mis des databinding ailleur pour remplacer)
Partager