andreycha почему то пометил предыдущую мою тему как дубликат, хотя решения в "ориджинал" теме для своей проблемы я не нашёл, вроде бы другая ситуация, а если нет, то я всё равно в упор не вижу, что тут нужно сделать.
Есть форма, которая открыта в основном потоке.
В ней вызывается другая форма, но она открывается в новом потоке.
Из этой новой формы вызывается метод другого класса, который изменяет содержимое RichTextBox той форме, в которой вызывался метод.
Ошибка: Недопустимая операция в нескольких потоках: попытка доступа к элементу управления 'richTextBox1' не из того потока, в котором он был создан."
Вот код функции, которая изменяет содержимое RichTextBox:
public void writeLog(string word, RichTextBox logBox)
{
logBox.SelectionStart = logBox.TextLength;
logBox.SelectionLength = 0;
logBox.SelectionColor = Color.YellowGreen;
logBox.AppendText(Environment.NewLine + voids.GetTimeNow());
logBox.SelectionColor = logBox.ForeColor;
logBox.AppendText(word);
logBox.SelectionStart = logBox.Text.Length;
logBox.ScrollToCaret();
}
Вот вызов той функции:
private Voids voids = Voids.GetInstance(); voids.writeLog("Какой то текст", richTextBox1);
А вот так открывается форма в новом потоке:
private void button1_Click(object sender, EventArgs e)
{
new System.Threading.Thread(() =>
{
NewForm();
}).Start();
}
void NewForm()
{
Form1 form = new Form1();
form.ShowDialog();
}
ЗдавствуйтеПодскажите, пожалуйста, как сделать диалоговое окно куда пользователь мог бы вводить только числа с клавиатуры?
При билде приложения Unity не загружает информацию из базы,однако при запуске приложения внутри самого движка все работает отлично,каким образом...