Недопустимая операция кросс-потока: управление "панелью" осуществляется из потока, отличного от потока, в котором она была создана
I try to press button hold and this type of error occurred. Short Press work better but while press long (Cross-thread operation not valid: Control 'panel' accessed from a thread other than the thread it was created on.) this type of error occurred.
Что я уже пробовал:
loopTimer = новый таймер();
петлитель.Интервал = 1000;
петлитель.Enabled = false;
петлитель.Прошедшее время += loopTimerEvent;
петлитель.Автоматического сброса = истина;
public bool long_press = false;
частный недействительными loopTimerEvent(источник, объект, ElapsedEventArgs е)
{
петлитель.Располагать();
long_press = истина;
panel_animatedOrders.Покажите();
}
public void newdowntable_Click(отправитель объекта, MouseEventArgs e)
{
петлитель.Включен = истина;
этикетка 1.Текст = ((кнопка)отправитель). имя;
btn_one.Текст = ((кнопка)отправитель).Имя + "" + " A";
btn_two.Текст = ((кнопка)отправитель).Имя + "" + " B";
btn_three.Текст = ((кнопка)отправитель).Имя + "" + " C";
btn_four.Текст = ((кнопка)отправитель).Имя + "" + " D";
k_one.Текст = ((кнопка)отправитель).Имя + " .1";
k_two.Текст = ((кнопка)отправитель).Имя + " .2";
к_три.Текст = ((кнопка)отправитель).Имя + " .3";
k_four.Текст = ((кнопка)отправитель).Имя + " .4";
btn_kitchenOrderNumber.Текст = ((кнопка)отправитель). имя;
}
public void newupTable_Click(отправитель объекта, MouseEventArgs e)
{
петлитель.Enabled = false;
если (long_press==ложь)
{
этикетка 1.Текст = ((кнопка)отправитель). имя;
Контроль ctls = это.Родитель;
KOTOrder vieret = новый KOTOrder(метка1.Текст, btn_kitchenOrderNumber.Текст);
ЦТЛ.Управления.Четкий();
ЦТЛ.Управления.Добавить (vieret);
}
long_press = ложь;
}