Kurze Verbesserung: Ich hab mich vertran (irc4net statt SmartIrc4net). Deswegen erstmal alle Antworten alten Antworten von mir ignorieren.
Edit: Hatte doch recht. Jungs, ein wenig die Doku und Exmaples lesen hilft.
Zuerst werden die Methoden geschrieben, dann regisitriert:
Code:
// here we connect the events of the API to our written methods
// most have own event handler types, because they ship different data
irc.OnQueryMessage += new IrcEventHandler(OnQueryMessage);
irc.OnError += new ErrorEventHandler(OnError);
irc.OnRawMessage += new IrcEventHandler(OnRawMessage);
Und zuletzt wird in die Loop gesprungen, die sich um die Events kümmert:
Code:
// here we tell the IRC API to go into a receive mode, all events
// will be triggered by _this_ thread (main thread in this case)
// Listen() blocks by default, you can also use ListenOnce() if you
// need that does one IRC operation and then returns, so you need then
// an own loop
irc.Listen();
Falls du nun ne GUI-Anwendung schreibst (lasse das erstmal, mache dich erstmal in der Konsole mit dem Framework vertraut), musst du (wie man oben lesen kann), irc.ListenOnce() benutzen (was dann wohl jeweils nur einmal die Loop durchläuft).
//Edit2: Beim TS fehlt es wohl am grundlegenden Verständnis, habe mir gerade eben nochmal den Code oben angeschaut.
Erstmal (nochmal): Lern, Dokumentationen zu lesen und zu vestehen. Das ist das A und O beim Nutzen fremder Libs.
2. Mach dir klar, wie dein Programm funktioniert. Wie funktioniert eine Konsolenanwendung, wie eine GUI-Anwendung? Wie werden die Events in einer GUI-Anwendung bearbeitet? Was ist eine "Mainloop"? Warum ist diese bei einer GUI-Anwendung notwendig? Warum bei dieser Netzwerklib? Was für ein Problem gibts beim Nutzen einer GUI-Anwendung und der Lib? Wie lässt es sich beheben?
Wenn du dir zu den Fragen die Antworten erarbeitest, wirst du die Lib ohne Probleme benutzen können (sowohl in GUI, als auch in Konsole).
//Edit3: Bei Möglichkeit vielleicht doch nochmal bei den Grundlagen beginnen. Dein Code ist ne Zumutung (bis auf den Teil, den du aus dem Beispiel kopiert hast).