Как скопировать отдельный подпункт из ListView? - PullRequest
2 голосов
/ 08 декабря 2011

Я понятия не имею, как это сделать.

Я пытаюсь разрешить пользователю копировать определенное поле с помощью простого щелчка правой кнопкой мыши или сочетания клавиш.

Мне нужноэто потому, что я сохраняю некоторые поля в виде кода, который не может быть легко перепечатан.

ListView позволяет выбрать только отдельную строку за раз, и я хочу выбрать только одно поле всей таблицы.

Как мне это сделать?

PS.Или, как я могу позволить пользователю изменять содержимое каждого поля.По крайней мере, когда они могут изменить поле, они могут копировать / вставлять содержимое (изменения не будут сохранены в моем файле базы данных).

Ответы [ 2 ]

4 голосов
/ 08 декабря 2011

Существует некоторый класс "Буфер обмена"

http://msdn.microsoft.com/en-us/library/system.windows.forms.clipboard.aspx

Вы можете просто сделать кнопку или что-то еще и установить текст выбранного элемента в буфере обмена.

3 голосов
/ 08 декабря 2011

Чтобы позволить пользователю редактировать элемент, вы можете установить для LabelEdit в ListView значение true.Вот описание из MSDN:

"Если для свойства LabelEdit установлено значение true, пользователь может изменить текст элемента, щелкнув текст элемента, чтобы выделить его, а затем снова щелкнув текст элемента, чтобыпереведите текст метки в режим редактирования. Затем пользователь может изменить или заменить текстовую метку элемента. "

Обратите внимание, что это не относится к подпунктам.

Копирование данных может быть незначительнымболее сложным в зависимости от пользовательского интерфейса, который вы хотите (например, кнопка или контекстное меню).Простым решением было бы добавить в форму кнопку, которая при нажатии копировала бы содержимое выбранного элемента (или любого из его подпунктов) в буфер обмена.

    private void button1_Click(object sender, EventArgs e)
    {
        if (listView1.SelectedItems.Count != 0)
        {
            Clipboard.SetText(listView1.SelectedItems[0].Text);
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...