Hallo,
ich bin grad dabei nen irc clienten zu schreiben und hab nun folgendes problem:
ich hab 2 forms und die kommunikation mach ich über properties (btw den thread in der FAQ kenn ich). ich mach das ganze mit ner asynchronen verbindung, die ich komplett in form1 erstelle etc..
form1:
Socket client
private void onconnect
private void onreceive
private void onsend <- die methode brauch ich auch in form2, damit ich beim enter drücken in der textbox das ganze an den irc server schicken kann
private void OnSend(IAsyncResult ar)
{
Socket remote = (Socket)ar.AsyncState;
int sent = remote.EndSend(ar);
remote.BeginReceive(data, 0, data.Length, SocketFlags.None, new AsyncCallback(OnReceive), remote);
}
form2:
Socket client <- wenn ich form2 erstellen lasse, wird der client über nen property übergeben
//form1:
sw = new StatusWindow();
sw.Pclient = client;
sw.Show();
//form2:
public Socket Pclient
{
get { return this.ircverbindung; }
set { this.ircverbindung = value; }
}
private void tbox_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
string send = DateTime.Now.ToLongTimeString() + " >> " + Ptb.Text + "\r\n";
Prtx.Text += send;
byte[] data = Encoding.ASCII.GetBytes(send);
Pclient.BeginSend(data, 0, data.Length, SocketFlags.None, new AsyncCallback(), Pclient);
//eigtl müsste es new AsyncCallback(OnSend) sein, aber ich weiß ja leider nich wie ich an die methode rankomm
}
}
ich hoffe es kann mir jemand helfen 😉
mfg
If you don't like me for who I am, then you don't like me for who I am, but all you're gonna get, is who I am.
Hallo thejudge,
pack deine Methoden in eine Modellklasse, dann kannst du sie in bzw. aus beiden Forms verwenden.
herbivore
pack deine Methoden in eine Modellklasse, dann kannst du sie in bzw. aus beiden Forms verwenden.
ich kann mir leider nichts unter einer modell-klasse vorstellen. wenn ich die methoden in ne neue klasse steck, hab ich ja wieder das selbe problem.
bitte versuch mir das ganze ein bisschen detaillierter näher zu bringen und/oder am besten mit nem beispiel/link
danke schonmal
If you don't like me for who I am, then you don't like me for who I am, but all you're gonna get, is who I am.
Hallo thejudge,
nach dem du schriebst, dass du [FAQ] Kommunikation von 2 Forms kennst, bin ich davon ausgegangen, dass der Hinweis auf die Modellklassen reichen würde. Dort steht
Wenn man vorhat, Oberflächen- und Modellobjekte zu trennen, könnte folgender Thread noch ganz hilfreich sein:
> , Codebeispiel in
>
Also sogar inkl. Codebeispiel. Was willst du mehr?
herbivore