Você está aqui: C# ::: Windows Forms ::: ListView |
Como evitar que uma determinada coluna de uma ListView seja reordenadaQuantidade de visualizações: 7200 vezes |
Em algumas situações gostaríamos que os usuários de nossas aplicações C# Windows Forms fossem capazes de reordenar as colunas de um controle ListView. Mas, como fazer com que uma coluna fique fixa, ou seja, ela não poderá ser movida e sua posição também não pode ser ocupada por outra coluna em uma operação de clicar e arrastar. Isso pode ser feito combinando-se as propriedades OldDisplayIndex, NewDisplayIndex e Cancel da classe ColumnReorderedEventArgs. Esta classe é fornecida ao tratador do evento ColumnReordered da classe ListView. O que fazemos então é verificar se o índice antigo ou o novo índice da coluna que acabou de ser movida é igual ao índice da coluna que estamos travando. Se alguma destas duas condições for satisfeita nós definimos o valor true para a propriedade Cancel. Isso faz com que a operação de reordenação seja cancelada. Veja o código: private void listView1_ColumnReordered(object sender, ColumnReorderedEventArgs e){ // é a primeira coluna? vamos evitar que ela seja reordenada // ou que outra coluna ocupe o seu lugar if((e.OldDisplayIndex == 0) || (e.NewDisplayIndex == 0)){ MessageBox.Show("A primeira coluna está travada"); e.Cancel = true; } } |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de C# |
Veja mais Dicas e truques de C# |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |