DevProLauncher.Windows.ChatFrm.UserList_MouseUp C# (CSharp) Method

UserList_MouseUp() private method

private UserList_MouseUp ( object sender, MouseEventArgs e ) : void
sender object
e MouseEventArgs
return void
        private void UserList_MouseUp(object sender, MouseEventArgs e)
        {
            ListBox list = (ListBox)sender;

            if (e.Button == MouseButtons.Right)
            {
                int index = list.IndexFromPoint(e.Location);

                if (index == -1)
                {
                    return;
                }

                list.SelectedIndex = index;

                if (list.SelectedItem == null)
                {
                    return;
                }

                ContextMenuStrip mnu = new ContextMenuStrip();
                ToolStripMenuItem mnuprofile = new ToolStripMenuItem(Program.LanguageManager.Translation.chatViewProfile);
                ToolStripMenuItem mnuduel = new ToolStripMenuItem(Program.LanguageManager.Translation.chatRequestDuel);
                ToolStripMenuItem mnufriend = new ToolStripMenuItem(Program.LanguageManager.Translation.chatAddFriend);
                ToolStripMenuItem mnuignore = new ToolStripMenuItem(Program.LanguageManager.Translation.chatIgnoreUser);
                ToolStripMenuItem mnukick = new ToolStripMenuItem(Program.LanguageManager.Translation.chatKick);
                ToolStripMenuItem mnmute = new ToolStripMenuItem(Program.LanguageManager.Translation.chatMute);
                ToolStripMenuItem mnuban = new ToolStripMenuItem(Program.LanguageManager.Translation.chatBan);
                ToolStripMenuItem mnuremovefriend = new ToolStripMenuItem(Program.LanguageManager.Translation.chatRemoveFriend);
                ToolStripMenuItem mnuremoveteam = new ToolStripMenuItem(Program.LanguageManager.Translation.chatTeamRemove);
                ToolStripMenuItem mnuspectateuser = new ToolStripMenuItem(Program.LanguageManager.Translation.chatSpectate);

                mnukick.Click += KickUser;
                mnmute.Click += MuteUser;
                mnuban.Click += BanUser;
                mnuprofile.Click += ViewProfile;
                mnuduel.Click += RequestDuel;
                mnufriend.Click += AddFriend;
                mnuignore.Click += IgnoreUser;
                mnuremovefriend.Click += RemoveFriend;
                mnuremoveteam.Click += RemoveFromTeam;
                mnuspectateuser.Click += SpectateUser;

                if (!m_onlineMode)
                {
                    mnu.Items.AddRange(new ToolStripItem[] { mnuprofile, mnuduel, mnuspectateuser, mnufriend, mnuignore });

                    if (Program.UserInfo.rank > 1)
                        mnu.Items.Add(mnukick);
                    if (Program.UserInfo.rank > 3)
                        mnu.Items.Add(mnuban);
                    if (Program.UserInfo.rank > 1)
                        mnu.Items.Add(mnmute);
                }
                else
                {
                    UserData user = (UserData)list.SelectedItem;
                    mnu.Items.Add(mnuprofile);
                    if (user.Online)
                    {
                        mnu.Items.AddRange(new ToolStripItem[] { mnuduel, mnuspectateuser });
                    }
                    if (m_friendMode)
                        mnu.Items.Add(mnuremovefriend);
                    else
                    {
                        if (Program.UserInfo.teamRank > 0)
                            mnu.Items.Add(mnuremoveteam);
                    }
                }

                mnu.Show(list, e.Location);
            }
        }