Comment obtenir la poignée de la forme avec get {définir?
Question
Je voudrais obtenir la poignée de ma forme d'une autre classe (filetage probablement). Je veux faire la façon dont j'invoque
public int GetHandle
{
get
{
if (this.InvokeRequired)
{
this.Invoke((MethodInvoker)delegate
{
return this.Handle.ToInt32();
});
}
}
}
Je reçois une erreur « Depuis retourne « System.Windows.Forms.MethodInvoker » vide, un mot-clé de retour ne doivent pas être suivies par une expression d'objet »
Si je ne pas utiliser l'Invoke, je reçois une exception que je ne suis pas d'appeler la méthode du thread courant.
La solution
Vous pouvez appeler un délégué, non seulement MethodInvoker. Essayez ceci:
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();
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow