Включить полосу прокрутки из отключенного просмотра списка в C # - PullRequest
4 голосов
/ 06 декабря 2011

Я в замешательстве.Я установил:

this.listView1.Enabled = false;

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

Ответы [ 4 ]

2 голосов
/ 06 декабря 2011

После большого количества комментариев, я предполагаю, что ваше представление списка, потому что оно часто обновляется из разных потоков, мигает.
Если это так, одним из возможных решений является включение DoubleBuffering;это свойство в любом случае protected, поэтому доступно только из классов-потомков.
Так что вы можете:

  1. Добавить новый класс в свой проект и вставить код, показанный ниже
  2. Скомпилировать
  3. Перетащите новый элемент управления из верхней части панели инструментов на вашу форму, заменив старый

Это может решить вашу проблему.

using System;
using System.Windows.Forms;

class BufferedListView : ListView 
{
    public BufferedListView() 
    {
        this.DoubleBuffered = true;
    }
}

Идея состоит в том,взято из этого поста на SO.

2 голосов
/ 06 декабря 2011

Вы не можете прокрутить отключенный элемент управления, поскольку полосы прокрутки являются частью самого элемента управления (и он отключен, так что ...).

, если вы хотите прокрутить, но не разрешить пользователю выбирать что-либо,Вы можете сделать это

this.listBox1.SelectionMode = SelectionMode.None;

, если вы хотите отменить его, вы можете установить его в SelectionMode.One для одного или один из других вариантов для разрешения множественного выбора.

другой (Имхо слишком сложный) опция делает рисованный ListBox.

1 голос
/ 06 декабря 2011

Вы не можете прокрутить отключенный элемент управления, но если вам действительно нужна такая функция, разработайте пользовательский элемент управления.

Разработка пользовательских элементов управления в C #

Скрытие полосы прокрутки в CheckListbox

Пошаговое написание пользовательского элемента управления .

0 голосов
/ 05 декабря 2012

Может быть, если вы поместите свой список в Panel, вы можете включить прокрутку, установив ScrollBars="Auto" на панели управления

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...