Mover elementos dun listview

Este é un exemplo simple, pero moi raramente visto, de como facer o Visual Basic. Net para mover (en código) elementos nun listview.

Precisa dun formulario cun listview e dous botóns:

Agora, encher o listview con algúns datos para o exemplo e ganas no evento Load do mesmo:

 ListView1.Items.Add ("Carlos")
 ListView1.Items.Add ("Marcelo")
 ListView1.Items.Add ("Damian")
 ListView1.Items.Add ("Susan")
 ListView1.Items.Add ("Gerard")
 ListView1.Items.Add ("Claudia")
 ListView1.Items.Add ("Marta")
 ListView1.Items.Add ("Liliana")
 ListView1.Items.Add ("Eliseu")
 ListView1.Items.Add ("Agostinho")
 ListView1.Items.Add ("Camila")
 ListView1.Items.Add ("Lucas")
 ListView1.Items.Add ("Jorge")
 ListView1.Items.Add ("Mabel")
 ListView1.Items.Add ("Natalia")
 ListView1.Items.Add ("Gabriella")
 ListView1.Items.Add ("Paula")
 ListView1.Items.Add ("Matías")
 ListView1.Items.Add ("Martin")
 ListView1.Items.Add ("John")
 ListView1.Items.Add ("Maria")
 ListView1.Items.Add ("Abel")
 ListView1.Items.Add ("Peter")

ListView1.FullRowSelect = True
ListView1.MultiSelect = False

ListView1.HideSelection = False

Teña en conta que tamén seteado tres propiedades moi importantes: FullRowSelect = True a un elemento escollendo a liña enteira é marcada, MultiSelect = False, para que só pode seleccionar un elemento e HideSelection = False sempre ver que elemento está seleccionado .

A continuación, no evento UP prema no botón:

 Se ListView1.SelectedIndices.Count> 0 THEN
 Intentar
 Tempo Din As cadea
 tempo = ListView1.Items (ListView1.FocusedItem.Index - 1). Texto

 ListView1.Items (ListView1.FocusedItem.Index - 1). Text = ListView1.FocusedItem.Text
 ListView1.FocusedItem.Text = temporal

 ListView1.Items.Item (ListView1.FocusedItem.Index - 1). Selected = True
 ListView1.Items.Item (ListView1.FocusedItem.Index - 1). Focada = True

 Catch ex As Exception
 Campá ()
 End Try
 Outro
 MsgBox ("Debe seleccionar un elemento da lista.")
 End If

eo evento clic abaixo:

 Se ListView1.SelectedIndices.Count> 0 THEN
 Intentar
 Tempo Din As cadea
 tempo = Texto ListView1.Items (ListView1.FocusedItem.Index + 1). </ code>

 ListView1.Items (ListView1.FocusedItem.Index + 1) Texto. = ListView1.FocusedItem.Text
 ListView1.FocusedItem.Text = temporal

 ListView1.Items.Item (ListView1.FocusedItem.Index + 1). Selected = True
 ListView1.Items.Item (ListView1.FocusedItem.Index + 1). Focada = True

 Catch ex As Exception
 Campá ()
 End Try
 Outro
 MsgBox ("Debe seleccionar un elemento da lista.")
 End If

É iso, poden facer e probar como funciona. Deixo un prendedor execución do programa:

Espero que, coma min, eles serán moi útiles.

10 Responses to "Mover elementos dunha listview"

  1. Información Bitacoras.com ...

    Taxa en Bitacoras.com: Este é un simple, pero moi raramente visto exemplo, de como facemos en Net Visual Basic para mover (en código) elementos nun listview .. Precisa dun formulario cun listview e dous botóns: Agora, vai encher ....

  2. Cristian di:

    Só o que eu precisaba para o meu proxecto no Pocket PC. Moitas grazas.

  3. D. Calix di:

    Hey! mellor este seu sitio web, realmente é. Grazas por compartir o seu coñecemento con nós ...
    Parabéns ... espero Máis

  4. Joseph di:

    hey grazas x esta información se non gusta, pero quizais algún código para pasar os elementos dun listbox a outra listbox diferente?
    a partir de xa moitas grazas!

  5. Jhonny Veizaga rapaza di:

    moitas grazas, de verdade eu estou usando el nun proxecto grande, onde cómpre usar moito o compoñente ListView.

  6. Marina di:

    ola quería saber como eu pasar os datos que teño en un texbox listview varios
    Eu realicei esta forma dun cliente, onde unha procura vai traer os datos que poñer no texbox.
    relación

  7. Mery di:

    non recoñece a ... (GT)

    • Eliseu di:

      Ola gt corresponde a un código HTML para o maior asinar (>), vemos que ao migrar ao novo servidor este valor queda modificado.
      Xa corrixida, unha vez máis comprobar o código orixinal ...
      Eliseu

  8. Grobles di:

    Mery en relación á liña que contén o gt pode substituír o seguinte:

    Se ListView1.SelectedIndices.Count 0 THEN

  9. Grobles di:

    Se ListView1.SelectedIndices.Count 0 THEN

    I nos sinais anteriores son diferentes a partir de () antes de 0 (cero)

Comentar