Ну, я бы предложил ссылки на учебные материалы, касающиеся PostSharp, но на самом деле мне не разрешено :(
ь: Часть серии:C #: доступ к членам формы из другого класса а такжеКак получить доступ к объектам формы из другого файла CS в C #.
Привет,
Идея состоит в том, чтобы уведомить пользователя, используя памятку, когда пакет получен / отправлен в клиенте TCP.
После нескольких исправлений наиболее подходящим решением, похоже, было это
public string TextValue
{
set
{
this.Memo.Text += value + "\n";
}
}
Вот как это называется
var form = Form.ActiveForm as Form1;
if(form != null)
form.TextValue = "Test asdasd";
Однако вызов кода вызывает исключение из-за небезопасного вызова потока. Я нашел решение вMSDN, но я не могу понять метод, который они использовали там.
Это мой римейк, который не работает.
private void SetTextMemo(string txt)
{
if(this.Memo.InvokeRequired)
{
this.Invoke(SetTextMemo,txt); //error here
}
else
{
this.Memo.Text += txt + "\n";
}
}
ошибки:
Аргумент «1»: невозможно преобразовать из «группы методов» в «System.Delegate»
Аргумент «2»: невозможно преобразовать из «строки» в «объект []»
По сути, я пытаюсь получить доступ к заметке (или, скорее, сказал, добавить текст к заметке) из другого потока, используя Invoke. Я никогда не использовал его раньше, может, поэтому я неправильно понял свою ошибку.