Не совсем уверен с этим, но вы пытались вызвать изменение текста? У меня была та же самая ошибка (хотя в очень другом сценарии), и вызов метода для изменения свойства элемента управления решил ее.
Я создал делегата со строковым параметром:
public delegate void TextBoxChangeDelegate(string text);
Затем метод, который будет выполнять фактическое изменение:
void TextBoxChange(string text)
{
MyTextBox.Text = text;
}
Затем я вызываю этот метод в моем процессе потока (и в вашем случае, в событии таймера):
public void ThreadService()
{
while(Running)
{
Invoke(new TextBoxChangeDelegate(TextBoxChange), new object[] { "New Value: "+ strNewValue });
}
}
Это было в WinForms. Это было тогда, когда я впервые узнал, что изменение свойств элемента управления в потоке, отличном от потока пользовательского интерфейса, вызывает проблемы. Извините, если это даже близко не к тому, что вы пытаетесь.