Quel est le moyen le plus rapide pour charger le fichier texte dans RichTextBox?
Je charge un fichier de texte dans RichTextBox à l'aide de OpenFIleDialog. Mais quand une grande quantité de texte (par exemple le texte de la chanson d'environ 50-70 lignes) et je clique sur OUVRIR le programme se bloque pendant quelques secondes (~3 à 5). Est-il normal? Peut-être il ya une certaine manière plus rapide ou d'un composant à charger le fichier texte? Si ma question est inappropriée simplement la supprimer. Merci.
if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
string text = File.ReadAllText(openFileDialog1.FileName);
for (int i = 0; i < text.Length - 1; i++)
{
richTextBox1.Text = text;
}
}
Je suppose que peut-être ReadAllLines
impeds?
Pouvez-vous poster le code que vous utilisez pour lire le fichier et de le remplir de la richtextbox ?
Oui, bien sûr! Mis à jour.
Oui, bien sûr! Mis à jour.
OriginalL'auteur Daria | 2011-03-16
Vous devez vous connecter pour publier un commentaire.
Il y a une question similaire, qui traite de la manière la plus rapide de la lecture/écriture de fichiers: Quelle est la manière la plus rapide en lecture/écriture sur le disque .NET?
Cependant, de 50 à 70 lignes est rien.. peu importe comment vous le lire, il doit voler immédiatement. Êtes-vous peut-être la lecture à partir d'un partage réseau ou quelque chose d'autre qui est à l'origine du retard?
Edit:
Maintenant que je vois ton code: Enlever la boucle et il suffit d'écrire
richTextBox1.Text = text;
une fois. Il n'est pas logique d'attribuer la corde dans la boucle depuis que vous avez déjà lu l'intégralité du contenu du fichier à l'aideReadAllText
.Voir ma réponse mis à jour
Merci beaucoup. J'ai bien compris que la boucle est inapproprié en ce moment! Al réponses sont très utiles. Merci.
OriginalL'auteur Christian
OriginalL'auteur zabulus
Supprimer la boucle for, parce que c'est inutile:
text
est une chaîne qui contient déjà tout le texte de la file pour passer à la zone de texte.Faire:
vous assignez le texte lu à partir du fichier
text.Length-1
fois (Length
est le nombre de caractères de la chaîne) et c'est inutile.OriginalL'auteur digEmAll
OriginalL'auteur anar khalilov