Есть программа которая сравнивает строки по дате. Необходимо чтобы в textBox отображался процесс работы программы, а именно выводились найденные строки. Нашел способ вывода через делегаты. Сделал следующим образом:
В классе Program объявил
public static readonly GpsEditor MEditor;
В классе формы добавил:
public delegate void TextBoxDelegate(string text);
public void MyTextBox(string input)
{
if (textBox1.InvokeRequired)
{
textBox1.Invoke(new TextBoxDelegate(MyTextBox), new object[] {input + "\n"});
}
else
{
textBox1.Text += input + "\n";
}
}
А в классе в котором находятся строки прописал так:
Program.MEditor.MyTextBox(Info.View);
В результате получаю:
System.NullReferenceException: 'Object reference not set to an instance of an object.'
Если в классе объявлю объект формы исключение не выйдет, но текстбокс так и не обновляется. Rак правильно передавать данные из класса в textBox?
Попробуйте так:
public void MyTextBox(string input)
{
if (InvokeRequired)
{
BeginInvoke(new TextBoxDelegate(MyTextBox), new object[] { input });
return;
}
textBox1.Text += input + "\n";
}
Но лучше конечно выводить многострочный текст в RichTextBox:
this.richTextBox1.SelectionStart = this.richTextBox1.TextLength;
this.richTextBox1.SelectionLength = 0;
this.richTextBox1.SelectionColor = Color.Black;
this.richTextBox1.AppendText((this.richTextBox1.TextLength > 0 ? "\r\n" : "") + input);
this.richTextBox1.SelectionColor = this.richTextBox1.ForeColor;
this.richTextBox1.ScrollToCaret();
Чтобы обратиться к форме, нужно её вызвать из списка открытых форм по её имени.
MEditor form = (MEditor) Application.OpenForms["MEditor"];
if (form != null)
form.MyTextBox(Info.View);
Напрямую при обращении к форме вы всегда получите ошибку!
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Имеется таблица xlsx с тремя столбцами, из нее через программу необходимо найти значения "ВНИМАНИЕ" из первого столбца и вывести список с прилегающими...
Добрый вечерПомогите разобраться! Есть проект MVC где база данных на mongoDB
Делаю авторизацию ВК библиотекой VkNetПо идее при необходимости ввести капчу выбрасывается VkNet
В C# 70 появились var-шаблоны которые судя по документации всегда trueи нужны для создания новой переменной с таким же типом и значением