Acessando membros da classe com Invoke de um thread diferente em C #
Not: Parte de uma série: C #: Acessando membros do formulário de outra classe eComo acessar objetos de formulário de outro arquivo cs em C #.
Olá
idéia é notificar o usuário usando a nota quando um pacote é recebido / enviado em um cliente TC
Após duas correções, a solução mais adequada parecia ser essa
public string TextValue
{
set
{
this.Memo.Text += value + "\n";
}
}
É assim que está sendo chamado
var form = Form.ActiveForm as Form1;
if(form != null)
form.TextValue = "Test asdasd";
No entanto, chamar o código gera uma exceção, devido a uma chamada de thread insegura. Encontrei uma solução em msdn, mas parece que não consigo adquirir o método que eles usaram l
Este é o meu remake, que não funcion
private void SetTextMemo(string txt)
{
if(this.Memo.InvokeRequired)
{
this.Invoke(SetTextMemo,txt); //error here
}
else
{
this.Memo.Text += txt + "\n";
}
}
errors:
Argument '1': não é possível converter de 'method group' para 'System.Delegate'
Argumento '2': não é possível converter de 'string' para 'object []'
Basicamente, estou tentando acessar o memorando (ou, mais provavelmente, adicionar texto ao memorando) de outro segmento usando Invoke. Eu nunca o usei antes, talvez seja por isso que eu entendi errado o meu err