Bonjour, j'ai un probleme, je n'arrive pas a récupérer la valeur de mon
text box que je crée quand je créer un onglet: pourtant le code me
semble bon, et il compile aussi, mais il rentre dans mon catch, et
n'arrive pas a finir le try!
voila mon code:
Code :
- private void NewTab(string page,string titre)
- {
- int height = FHelpdev.ActiveForm.Size.Height;
- int width = FHelpdev.ActiveForm.Size.Width;
- tabIndexNbre = TCTexte.TabCount;
- //tabIndexNbre++;
- TabPage tbPage = new TabPage(titre);
- //tbPage.Name = tbPage + tabIndexNbre.ToString();
- TCTexte.Controls.Add(tbPage);
- RichTextBox TbTexteNew = new RichTextBox();
- TbTexteNew.Text = page;
- TbTexteNew.TabIndex = tabIndexNbre;
- TbTexteNew.Name = "TbTexteNew" + tabIndexNbre.ToString();
- tbPage.Controls.Add(TbTexteNew);
- TCTexte.SelectedIndex = tabIndexNbre;
- TCTexte.TabIndex = tabIndexNbre;
- TbTexteNew.Size = new System.Drawing.Size(width - 17, height - 120);
- CountTab();
- }
- private void SaveAs()
- {
- SFDSave.InitialDirectory = Application.ExecutablePath;
- SFDSave.Filter = "Fichiers texte (*.txt)|*.txt|Tous les fichiers (*.*)|*.*";
- SFDSave.FilterIndex = 0;
- // on affiche la boîte de dialogue et on récupère son résultat
- if (SFDSave.ShowDialog() == DialogResult.OK)
- {
- // on récupère le nom du fichier
- nomFichier = SFDSave.FileName;
- StreamWriter fichier = null;
- try
- {
- int index = TCTexte.SelectedIndex;
- // on ouvre le fichier en écriture
- fichier = new StreamWriter(nomFichier);
- index++;
- // on écrit le texte dedans
- string backup = ((RichTextBox)tbPage.Controls["TbTexteNew" + index.ToString()]).Text;
- fichier.Write(backup);
- }
- catch (Exception ex)
- {
- // problème
- MessageBox.Show("Problème à l'écriture du fichier (" +
- ex.Message + " )", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error);
- return;
- }
- finally
- {
- // on ferme le fichier
- try { fichier.Close(); }
- catch (Exception) { }
- string[] nameFileTableau = nomFichier.Split('\\');
- int nbreTxt = nameFileTableau.Length;
- TCTexte.SelectedTab.Text = nameFileTableau[nbreTxt-1];
- }//finally
- setNameFile(nomFichier);
- }//if
- }
|
En gros, c'est un editeur de texte qui s'ouvre dans dans onglet, avec création d'onglets automatique.
mon probleme est ici:
Code :
- string backup = ((RichTextBox)tbPage.Controls["TbTexteNew" + index.ToString()]).Text;
|
Quelqu'un pourrait m'aider?
Message édité par transistor49 le 09-05-2006 à 20:49:31
---------------
transistor49