Voir aussi: How to enable a timer from a different thread/classComment accéder à une minuterie d'une autre classe en C#
La minuterie est affectée à une forme et je voudrais Permettre à un endroit précis, mais d'une autre classe. Je ne veux pas le rendre public
Voici le code que j'utilise pour l'accès mémo
public string TextValue
{
set
{
if (this.Memo.InvokeRequired)
{
this.Invoke((MethodInvoker)delegate
{
this.Memo.Text += value + "\n";
});
}
else
{
this.Memo.Text += value + "\n";
}
}
}
public static void addtxt(string txt)
{
var form = Form.ActiveForm as Form1;
if(form != null)
form.TextValue = txt;
}
"SomethingHappened;" est faux.Je suis désolé, je n'ai jamais écrit les événements à la main.La ligne doit avoir deux paramètres (expéditeur d'objet et EventArgs e) .Quels paramètres dois-je passer? –
Problème 2, DoStuff() est non seulement public, mais statique dans mon code. Je ne peux pas accéder à SomethingHappened si la méthode est statique. –
Comme dit, je n'ai pas compilé :) Vous pouvez simplement passer cela et EventArgs.Empty lorsque vous augmentez l'événement. Peut-être que vous pouvez aussi rendre l'événement statique (si ce n'est pas possible), mais je devrais vérifier s'il est nécessaire d'avoir une 'DoStuff' statique. –