Como obter o identificador do formulário com get {set?
Pergunta
Eu gostaria de obter o identificador da minha forma de uma classe diferente (provavelmente segmento). Eu quero fazê-lo da maneira que eu faço invocação
public int GetHandle
{
get
{
if (this.InvokeRequired)
{
this.Invoke((MethodInvoker)delegate
{
return this.Handle.ToInt32();
});
}
}
}
Eu recebo um erro "Desde retornos 'System.Windows.Forms.MethodInvoker' vazio, uma palavra-chave de retorno não deve ser seguido por uma expressão de objeto"
Se eu não usar a invocar, eu recebo uma exceção que eu não estou chamando o método do segmento atual.
Solução
Você pode chamar qualquer delegado, não apenas MethodInvoker. Tente isto:
public int GetHandle
{
get
{
if (this.InvokeRequired)
{
return (int)this.Invoke((GetHandleDelegate)delegate
{
return this.Handle.ToInt32();
});
}
return this.Handle.ToInt32();
}
}
private delegate int GetHandleDelegate();
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow