コード例 #1
0
 private void FülleBenutzer(Benutzer benutzer = null)
 {
     if (benutzer == null)
     {
         Benutzerliste.SetObjects(benutzersteuerung.Benutzer.ToList());
         Benutzerliste.Sort(GuthabenSpalte, SortOrder.Ascending);
         GuthabenSpalte.AutoResize(ColumnHeaderAutoResizeStyle.HeaderSize);
     }
     else
     {
         Benutzerliste.UpdateObject(benutzer);
     }
 }
コード例 #2
0
 private void Benutzerliste_ItemActivate(object sender, EventArgs e)
 {
     Benutzerfenster.Benutzer = (Benutzer)Benutzerliste.GetModelObject(Benutzerliste.SelectedIndex);
     Benutzerfenster.Show();
     Benutzerfenster.Focus();
 }
コード例 #3
0
 private void Benutzersteuerung_BenutzerHinzugefügt(Benutzer benutzer)
 {
     Benutzerliste.AddObject(benutzer);
 }
コード例 #4
0
        void ProcessMessage(object obj)
        {
            MsgToProcess MTP = obj as MsgToProcess;

            Console.WriteLine("Nachricht verarbeiten: {0}", MTP.Message);
            String Nachrichtentyp = MTP.Message.Substring(0, 1);
            String Argument1      = MTP.Message.Substring(1, 32).Trim();
            String Argument2      = MTP.Message.Substring(33, 256).Trim();

            switch (Nachrichtentyp)
            {
            case "A":
            {
                //Client anmelden
                //Argument1 = Benutzername
                //Argument2 = leer
                if (!Argument1.Equals(username))
                {
                    IDS = Argument1.Trim();
                    Console.WriteLine("IDS gesetzt");
                }
                break;
            }

            case "T":
            {
                //Textnachricht empfangen
                //Argument1 = Benutzername
                //Argument2 = Textnachricht
                if (IDS != null)
                {
                    addLineToChat("[" + Argument1 + "]: " + Argument2);
                }
                break;
            }

            case "S":
            {
                //Statusabfrage empfangen
                //Argument1 = IDS
                //Argument2 = Leer
                if (IDS != null)
                {
                    if (Argument1 == IDS)
                    {
                        //Msg unverändert zurücksenden
                        SendToServer(MTP.Message);
                    }
                    UInt16 anzClients;
                    if (UInt16.TryParse(Argument2, out anzClients))
                    {
                        if (anzClients != Benutzerliste.Items.Count)
                        {           //anzahl der Benutzer stimmt nicht mehr
                            Benutzerliste.Invoke(new Action(() => Benutzerliste.Items.Clear()));
                            SendToServer("U" + IDS.PadRight(32) + "".PadRight(256));
                        }
                    }
                }
                break;
            }

            case "U":
            {
                //Nutzerverzeichnis empfangen
                //Argument1 = Benutzername
                //Argument2 = Leer
                if (IDS != null)
                {
                    addLineToUserList(Argument1);
                }
                break;
            }

            default:
            {
                //unbekannte Nachricht empfangen
                //verwerfen
                break;
            }
            }
        }