Довольно часто в моей GUI код, я пишу что-то вроде этого:Есть ли сокращенная версия Form.BeginInvoke?
private void SecondTimer_Elapsed(object sender, ElapsedEventArgs e)
{
if (progressBar1.InvokeRequired)
{
progressBar1.BeginInvoke(new ElapsedEventHandler(SecondTimer_Elapsed), new[] {sender, e});
return;
}
//Code goes here
}
Конечно, это необходимо, если приложение является многопоточной, так как нам нужно Маршаллу нить, первоначально созданный элемент управления. Дело в том, что может быть утомительно написать делегат и поместить аргументы в массив, и он занимает место в верхней части каждого такого обработчика событий. Есть ли какой-то атрибут или что-то в этом роде, которое заменит этот код для вас? В основном ярлык, в котором говорится: «Если вы ошибаетесь, вызовите меня снова в потоке графического интерфейса с теми же аргументами».
любой полный исходный код об этом? – Kiquenet