none
Limitar quantidade de itens lista As New List(Of String) RRS feed

  • Pergunta

  • Bom dia mestres.
    Tenho  um projeto onde eu registro os ultimos itens pesquisados em uma array que fica em um módulo da seguinte forma:

    Public HistPastas As New List(Of String)

    E adiciono os itens nela sempre que uma pasta é aberta no formulário.

    Metodo 

    Public Sub AbrirPasta()
            Dim PastaDigitada As String
            PastaDigitada = txtPasta.Text
            Using con As OleDbConnection = getConnection()
                Dim cmd As OleDbCommand = Nothing
                Try
                    con.Open()
                    Dim i As Integer
                    cmd = New OleDbCommand("Select Count(Pasta) From Processos WHERE Pasta='" & PastaDigitada & "'", con)
                    i = cmd.ExecuteScalar
                    If i = 0 Then
                        MsgBox("Pasta não encontrada")
                        Exit Sub
                    Else
                        ProcedimentoAbrir()
                    End If
                Catch ex As Exception
                    MsgBox(ex.Message & Err.Number)
                Finally
                    con.Close()
                End Try
            End Using
        End Sub

    E o ProcedimentoAbrir() é:

      Private Sub ProcedimentoAbrir()
    '''Aqui adiciono o item no array
            HistPastas.Add(txtpasta.Text)
    ''''''
            Dim OBJ As New frmProcesso
            OBJ.StringPass = txtpasta.Text
            Me.Dispose()
            OBJ.Show()
        End Sub

    E carrego a array no load com o código   txtpasta.DataSource = HistPastas

    Porém eu gostaria de limitar a quantidade de itens que aparecem na combobox txtpasta pois chega uma hora que fica gigante, ou ao menos criar um scrollbar quando atingir uma determinada quantidade de itens.

    Seria possivel fazer isso?

    segunda-feira, 5 de novembro de 2018 11:39

Respostas

  • Olá Gilberto,

    Você pode limitar o número de itens a ser exibido no comboBox, definindo estas propriedades como no teu caso:

    txtpasta.IntegralHeight = false;

    txtpasta.MaxDropDownItems = 5; //No meu caso quando passa 5 itens o comboBox exibe o scrollbar

    Espero que ajudou.

    terça-feira, 6 de novembro de 2018 07:24

Todas as Respostas

  • Porque n usa if

    'Exemplo

    if combobox.itens.acount < 10 then

    'codigo add itens

    end if

    seu codigo continua adicionando itens ate ter 10, quando for maior que 10 ele parar de adicionar 

    segunda-feira, 5 de novembro de 2018 19:11
  • Olá Gilberto,

    Você pode limitar o número de itens a ser exibido no comboBox, definindo estas propriedades como no teu caso:

    txtpasta.IntegralHeight = false;

    txtpasta.MaxDropDownItems = 5; //No meu caso quando passa 5 itens o comboBox exibe o scrollbar

    Espero que ajudou.

    terça-feira, 6 de novembro de 2018 07:24
  • Opa no meu casso eu queria que ele adiciona-se removendo o mais antigo e colocando o mais novo.
    terça-feira, 6 de novembro de 2018 10:40
  • Cara perefeito, funcionou perfeitamente. Voce acha que isso pode dar bug qualquer dia devido a quantidade de itens?
    terça-feira, 6 de novembro de 2018 10:41