Мне нужен код, который бы считал строки в текстовом документе, а потом выводил в label (Не знаю, какие еще есть варианты для вывода, новичок) (В текстовом документе будет изменятся текст каждую секунду, было бы еще хорошо добавить какое-то обновление)
судя по
В текстовом документе будет изменятся текст каждую секунду
очень вероятно что ты пытаешся сделать что-то через пятую точку. По крайней мере на даную секунду это именно так и выглядит.
Так же неясно, файл должен открыватся только для отображения или для изменения так же по задумке?
Значит нужно сразу иметь ввиду:
Предлагаю решение в виде проверки времени сохранения файла.
Если время записи файла не совпадает с последним прочитанным - считывать файл заново с пермишнами под чтение, что бы не мешать записи файла другой программой.
но я настоятелно рекомендую создать отдельный вопрос с описанием того что ты хочешь получить и узнать что, скорее всего, ты идешь по неоптимальному пути.
Необходимо добавить using System.Threading. Вместо TextBox, можно использовать Label.
private readonly ManualResetEvent _instanse = new ManualResetEvent(false);
public Form1()
{
InitializeComponent();
//set the file for observation
FileSystemWatcher watcher = new FileSystemWatcher("C:\\", "your_text_file.txt");
watcher.NotifyFilter = NotifyFilters.LastWrite;
watcher.EnableRaisingEvents = true;
//subscribing on event of the FileSystemWatcher
watcher.Changed += OnChanged;
}
private void button1_Click_1(object sender, EventArgs e)
{
textBox1.Text = ChangeInFile();
}
//reading text from file
private string ChangeInFile()
{
using (StreamReader fin = new StreamReader(@"C:\your_text_file.txt"))
{
return fin.ReadToEnd();
}
}
//everytime, when source file changed
public void OnChanged(object source, FileSystemEventArgs e)
{
try
{
_instanse.WaitOne(500);
textBox1.Text = ChangeInFile();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message); // or simply return;
}
}
Можно использовать richTextBox для вывода больших объемов текста.
Условие может быть любым, не обязательно должен быть цикл, в зависимости от того, сколько раз из файла нужно считывать информацию.
При беспрерывном считывании в течение неопределенного количества времени, лучше использовать многопоточность и выделить под это действие отдельный поток.
private void button1_Click(object sender, EventArgs e)
{
// Путь до файла
string path = @"c:\temp\MyTest.txt";
// Пока верно условие, информация будет считываться из файла
for (int i = 0; i < 5; i++)
{
// Открытие файла для чтения, помещение содержимого в richTextBox
richTextBox1.Text = File.ReadAllText(path);
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Когда я инициализирую TcpClient с указанием в конструкторе IPAddress отличного от 00
В моем случае нужно, чтоб процедуры P1,P2,P3 могли пересекаться между собой
У меня есть Input Field для ввода названия проекта, мне нужно, чтобы текст в нем обнулялся по нажатию на кнопку "Отмена"Подскажите, пожалуйста, решение...
Как с помощью linq заменить все элементы целочисленной последовательности, заданной с помощью EnumerableRange на сумму их цифр