示例#1
0
        private void OnMembersListBoxIcgStatusChanged(object sender, EventArgs e)
        {
            if (MembersListBox.ItemContainerGenerator.Status == GeneratorStatus.ContainersGenerated)
            {
                MembersListBox.ItemContainerGenerator.StatusChanged -= OnMembersListBoxIcgStatusChanged;
                Dispatcher.BeginInvoke(new Action(() =>
                {
                    var scrollViewer = MembersListBox.ChildOfType <ScrollViewer>();
                    scrollViewer.ScrollToTop();

                    UpdateHighlightedItem(GetListItemByIndex(MembersListBox, 0));
                }),
                                       DispatcherPriority.Loaded);
            }
        }
示例#2
0
        /// <summary>
        /// Event when user clicks somewhere in the members list box
        /// </summary>
        /// <param name="sender">Object that raised the event</param>
        /// <param name="e">Event info</param>
        private void MembersListBox_MouseDown(object sender, MouseEventArgs e)
        {
            // We only care about right clicks
            if (e.Button == MouseButtons.Right)
            {
                // Also do selection on right click
                MembersListBox.SelectedIndex = MembersListBox.IndexFromPoint(e.X, e.Y);

                // Only show up if we actually have something selected
                if (MembersListBox.SelectedIndex != -1 && MembersListBox.SelectedItem.ToString() != Globals.Client.GetUsername() && !Globals.Client.ContainsRoom(MembersListBox.SelectedItem.ToString()))
                {
                    pMToolStripMenuItem.Text        = $@"PM {MembersListBox.SelectedItem}";
                    MembersListBox.ContextMenuStrip = memberMenuStrip;
                }
                else
                {
                    MembersListBox.ContextMenuStrip = null;
                }
            }
        }