Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 20353|Ответ: 0

[WinForm] C# получает содержимое ячейки, кликнув правой кнопкой мыши в списковом представлении

[Скопировать ссылку]
Опубликовано 29.01.2015 15:15:34 | | |

Когда мы кликаем правой кнопкой мыши по контролю ListView, мы можем получить отдельный текстовый контент выбранного элемента.
Теперь мы просим получить только текстовое содержимое ячейки при нажатии правой кнопки мыши.
Вот как:
1. Определите глобальное состояние мыши
Пункт m_MBRpt; Когда вы кликаете правой кнопкой Point
2. Обрабатывайте сообщение в listView при нажатии мыши
        private void listView1_MouseDown(object sender, MouseEventArgs e)
        {
            //
            если (e.Button==MouseButtons.Right)
            {
                Получите координаты экранной мыши и конвертируйте их в координаты управления списком
                m_MBRpt = listView1.PointToClient(Control.MousePosition);
            }

        }
3. Меню правой кнопкой мыши — сообщение элемента копирования
        private void COPYITEM_Click(object sender, EventArgs e)
        {
            Скопируйте содержимое указанной ячейки таблицы
            если (listView1.SelectedItems.Count <= 0)
            {
                MessageBox.Show («Информация о транзакции не выбрана!») , «Prompt», MessageBoxButtons.OK, MessageBoxIcon.Information);
                возвращать;
            }

            Получите координаты экранной мыши и преобразуйте их в координаты управления списком (обработайте и сохраняйте при нажатии мыши).
            Point pt = listView1.PointToClient(m_MBRpt);

            ListViewItem lstrow = listView1.GetItemAt(m_MBRpt.X, m_MBRpt.Y);
            System.Windows.Forms.ListViewItem.ListViewSubItem lstcol = lstrow. GetSubItemAt(m_MBRpt.X, m_MBRpt.Y);
            string strText = lstcol. СМС;
            Установите на вставку
            SetClipboardText(strText);

        }
4. Задайте содержимое налепной доски
        public void SetClipboardText(string strText)
        {
            Попробуй
            {
                Clipboard.SetDataObject(strText);
            }
            catch (System.Exception ex)
            {
                MessageBox.Show (например. Message, «Prompt», MessageBoxButtons.OK, MessageBoxIcon.Error);            
            }
            
        }




Предыдущий:Коды ошибок и решения сервера Dell 2013 Edition
Следующий:DIV+CSS с округлением границ
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com