Ich verwende SignalR, um ein Benachrichtigungssystem für den Informationsaustausch zwischen meinen Anwendungsinstanzen zu implementieren. Ich habe folgende Nabe Klasse:UI-Steuerelemente von einer anderen Klasse aktualisieren
[HubName("OpenHub")]
public class OpenHub:Hub
{
public void DetermineLength(string message)
{
Clients.All.RecieveNewInfo(newMessage);
//How to use something like the following line?
//concerning that Form1 is loaded at application startup
//and I should not create a new instance
//Form1.lstMessages.Add(newMessage);
}
}
Doch ich habe einig UI-Steuerelemente mit einem Etikett zu aktualisieren und zu einem Listenfeld zu protokollieren, was neue Informationen, die angekommen ist. Neben der Definition meiner Klasse in meinem Formularcode, wie kann ich das Form-Objekt aktualisieren, um diese neuen Informationen anzuzeigen, wenn ich meinen Hub in einer anderen Klasse definiert habe?
Ich versuchte dieses erste und es funktioniert gut. Das Hauptproblem bestand darin, auf Formularsteuerelemente einer anderen Klasse zuzugreifen, die Sie in einer statischen Klasse definiert haben. Bedeutet das, wenn ich andere Objekte in einer anderen statischen Klasse definiere, kann ich auch auf sie zugreifen? – Medise
Sie können dem Programm oder dem Formular mehr statische Elemente hinzufügen. Aber sei vorsichtig, dass du nicht zu statisch bist. Erstellen Sie eine sinnvolle Klassenhierarchie. Und erhalte den Zugang zu seiner Wurzel. –