/// <summary>
        /// Füllt die Liste mit Nicks
        /// </summary>
        /// <param name="backColor">Hintergrundfarbe des Channels</param>
        public void FillNickList(Channel channel)
        {
            try
            {
                //Das Layout freigeben, sonst gibt das eine ziemliche hängerei beim zeichnen
                this.ListContainer.SuspendLayout();
                //Hintergrundfarbe übernehmen
                this.BackColor = channel.BackColor;
                this.ItemListContainer.BackColor = channel.BackColor;
                //Die einzelnen Items erstellen
                this.Items = new Dictionary <string, UserListItemControl>();

                foreach (ChannelUser channelUser in channel.UserList.ChannelUserList)
                {
                    UserListItemControl userListItemControl = new UserListItemControl(channelUser, channel.BackColor);
                    userListItemControl.Dock = DockStyle.Bottom;
                    userListItemControl.OnItemSelectedChanged   += new EventHandler <ItemSelectedChangedEventArgs>(nli_OnItemSelectedChanged);
                    userListItemControl.OnItemRightClickShifted += new EventHandler <ItemRightClickShiftedEventArgs>(userListItemControl_OnItemRightClickShifted);
                    //Es muss immer erst der User ins Dictionary eingefügt werden
                    //Nur hier kann kontrolliert werden, obe er sich bereits in der liste befindet!!!

                    this.AllUsers.Add(channelUser.Name, channelUser);
                    this.ItemListContainer.Controls.Add(userListItemControl);
                    this.Items.Add(channelUser.Name, userListItemControl);
                    Application.DoEvents();
                }
                //GUI-Kram
                ItemListContainer.SendToBack();
                //Anhand des Channelnamens den Listennamen einstellen
                this.ListName = channel.Name;
                //Den Header anfertigen
                SetHeaderAppearance(Color.White, channel.BackColor, this.ListName, this.ItemDescription);
                RepaintHeader();
                //Das Layout wieder aufnehmen
                this.ListContainer.ResumeLayout(false);
                //Und neu zeichnen lassen
                this.ListContainer.PerformLayout();
            }
            catch (ArgumentException argEx)
            {
                MessageBox.Show("Ein Item war bereits in der Liste (Liste Doppelt erstellt?)\r\n" + argEx.ToString());
            }
        }
 /// <summary>
 /// Fügt dcer Userliste einen User hinzu
 /// </summary>
 /// <param name="user">Der hinzuzufügende User</param>
 /// <param name="backColor">Die Hintergrundfarbe die der Eintrag haben soll</param>
 public void AddUser(ChannelUser user, Color backColor)
 {
     try
     {
         //User hinzufügen
         UserListItemControl userListItemControl = new UserListItemControl(user, backColor);
         //Die Box für den User Oben anheften
         userListItemControl.Dock = DockStyle.Bottom;
         userListItemControl.OnItemSelectedChanged   += new EventHandler <ItemSelectedChangedEventArgs>(nli_OnItemSelectedChanged);
         userListItemControl.OnItemRightClickShifted += new EventHandler <ItemRightClickShiftedEventArgs>(userListItemControl_OnItemRightClickShifted);
         //Das NickListItem in die Liste hinzufügen
         this.Items.Add(user.Name, userListItemControl);
         //Das Control zur GUI hinzufügen
         this.ItemListContainer.Controls.Add(userListItemControl);
         //Den User selbst hinzufügen
         this.AllUsers.Add(user.Name, user);
         RepaintHeader();
     }
     catch (ArgumentException argEx)
     {
         MessageBox.Show("Item wurde bereits hinzugefügt\r\n" + argEx.ToString());
     }
 }
 public ItemSelectedChangedEventArgs(bool Selected, UserListItemControl Item)
 {
     _Selected = Selected;
     _Item     = Item;
 }