Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
Você está aqui: C# ::: Windows Forms ::: ListView

Como permitir a seleção completa de uma linha em uma ListView

Quantidade de visualizações: 8436 vezes
Quando estamos usando uma ListView com o valor Details para o modo de visualização pode ser interessante permitir que o usuário clique em uma linha da lista e toda ela seja selecionada. Por padrão, apenas o item da primeira coluna é selecionado, ou seja, seus sub-itens ficam fora de seleção.

Para isso podemos usar a propriedade FullRowSelect da classe ListView. Se o modo de visualização for Details e o valor desta propriedade for true, ao clicarmos em qualquer um dos itens ou seus sub-itens, a linha inteira é selecionada.

Veja como manipular esta propriedade no trecho de código abaixo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

private void button2_Click(object sender, EventArgs e){
  // vamos permitir a seleção de toda a linha da ListView
  listView1.FullRowSelect = true;
}

Lembre-se de que a propriedade FullRowSelect não tem nenhum efeito se o valor da propriedade View da ListView não for Details. Além disso, se quisermos obter o valor desta propriedade em tempo de execução, podemos usar um código parecido com:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

private void button2_Click(object sender, EventArgs e){
  // vamos obter o valor da propriedade FullRowSelect
  bool selecaoLinha = listView1.FullRowSelect;

  // vamos mostrar o resultado
  MessageBox.Show("O valor da propriedade FullRowSelect é " +
    selecaoLinha);
}


Link para compartilhar na Internet ou com seus amigos:

C# ::: Fundamentos da Linguagem ::: Estruturas de Controle

Como usar a instrução de salto incondicional goto da linguagem C#

Quantidade de visualizações: 17469 vezes
A instrução goto na linguagem C# é uma instrução de salto incondicional. Quando esta instrução é encontrada, o fluxo de execução de código salta imediatamente para a localização definida pelo goto. Embora não muito usada, esta instrução, ás vezes, tem sua utilidade.

A instrução goto exige um rótulo (label), que é um identificador C# válido seguido por dois pontos. Além disso, este rótulo deve estar dentro do mesmo método no qual a instrução goto estará contida. Isso quer dizer que não é possível usar goto para saltar de um método para outro. Veja um trecho de código no qual usamos goto para contar de 0 até 10:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

using System;

namespace Estudos{
  class Program{
    static void Main(string[] args){
      int valor = 0;

      // define o rótulo para o goto
      inicio:

      // exibe os números de 0 até 10
      if (valor <= 10){
        Console.WriteLine("{0}", valor);
        valor++;
        goto inicio;
      }

      Console.WriteLine("\n\nPressione uma tecla para sair...");
      Console.ReadKey();
    }
  }
}

Ao executar este código nós teremos o seguinte resultado:

0
1
2
3
4
5
6
7
8
9
10

Pressione uma tecla para sair...

É claro que este código, ainda que seja um bom exemplo do uso de goto, pode e deve ser substituído por um laço for ou while. Lembre-se: goto é usado somente em casos nos quais nenhuma outra instrução ou construção esteja disponível.

Veja, por exemplo, como podemos usar goto para saltar entre as cláusulas case de uma instrução switch:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

using System;

namespace Estudos{
  class Program{
    static void Main(string[] args) {
      for (int i = 1; i < 3; i++) {
        switch (i) {
          case 1:
            Console.WriteLine("Estou na cláusula 1.");
            goto case 3;
          case 2:
            Console.WriteLine("Estou na cláusula 2.");
            goto case 1;
          case 3:
            Console.WriteLine("Estou na cláusula 3.");
            goto default;
          default:
            Console.WriteLine("Estou na cláusula padrão.");
            break;
        }
      }

      Console.WriteLine("\n\nPressione uma tecla para sair...");
      Console.ReadKey();
    }
  }
}

Ao executar este código nós teremos o seguinte resultado:

Estou na cláusula 1.
Estou na cláusula 3.
Estou na cláusula padrão.
Estou na cláusula 2.
Estou na cláusula 1.
Estou na cláusula 3.
Estou na cláusula padrão.

Outro uso útil da instrução goto é quando precisamos sair de um laço profundamente aninhado (três ou quatro níveis já é uma tarefa complicada). Veja:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

using System;

namespace Estudos{
  class Program{
    static void Main(string[] args) {
      int i = 0, j = 0, k = 0;

      for (i = 0; i < 10; i++) {
        for (j = 0; j < 10; j++) {
          for (k = 0; k < 10; k++) {
            Console.WriteLine("i, j, k: " + i + " " +
              j + " " + k);
            if (k == 3) goto parada;
          }
        }
      }

    // rótulo de parada
    parada:
      Console.WriteLine("Parei! i, j, k: " + i + " " +
        j + " " + k);

      Console.WriteLine("\n\nPressione uma tecla para sair...");
      Console.ReadKey();
    }
  }
}


Ao executar este exemplo nós teremos o seguinte resultado:

i, j, k: 0 0 0
i, j, k: 0 0 1
i, j, k: 0 0 2
i, j, k: 0 0 3
Parei! i, j, k: 0 0 3

Para finalizar, tenha em mente que goto é usado para sair de um bloco de instruções. Tentar usar esta instrução para saltar para dentro de um bloco de instruções é um erro de síntaxe e o seu código não compilará.


C# ::: Windows Forms ::: DataGridView

Como ocultar ou exibir uma determinada coluna do DataGridView do C# Windows Forms

Quantidade de visualizações: 13604 vezes
Em algumas situações precisamos ocultar ou exibir determinadas colunas do DataGridView. Isso pode ser feito definindo-se os valores true ou false para a propriedade Visible da classe DataGridViewColumn. Veja um trecho de código no qual ocultamos a segunda coluna do DataGridView:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

private void button3_Click(object sender, EventArgs e){
  // vamos ocultar a segunda coluna
  dataGridView1.Columns[1].Visible = false;
}

Veja que aqui nós acessamos a coleção DataGridViewColumnCollection e usamos um índice para retornar o DataGridViewColumn desejado. É possível também acessar um determinado DataGridViewColumn na coleção de colunas usando o valor definido para sua propriedade name. Veja:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

private void button3_Click(object sender, EventArgs e){
  // vamos ocultar a segunda coluna
  dataGridView1.Columns["populacao"].Visible = false;
}



C# ::: LINQ ::: LINQ to Objects

Como retornar o menor elemento em um array de int em C# usando a função Min() do LINQ

Quantidade de visualizações: 1127 vezes
Nesta dica mostrarei, em um exemplo bem simples, como podemos usar o método Min() do LINQ (Language-Integrated Query) do C# para retornar o menor elemento de um vetor de inteiros.

Note que temos um vetor de int com os valores {5, 2, 8, 3, 0, 1} e o valor 0 deverá ser retornado como sendo o menor.

Veja o código completo para o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

using System;
using System.Linq;

namespace Estudos {
  class Principal {
    static void Main(string[] args) {
      // vamos construir um vetor de inteiros
      int[] valores = {5, 2, 8, 3, 0, 1};

      // vamos obter o menor elemento do vetor
      int menor = valores.Min();

      // vamos mostrar o resultado
      Console.WriteLine("O menor valor é: {0}", menor);

      Console.WriteLine("\nPressione uma tecla para sair...");
      Console.ReadKey();
    }
  }
}

Ao executar este código C# nós teremos o seguinte resultado:

O menor valor é: 0

Fique atento ao fato de que o método Min() pode atirar uma exceção do tipo InvalidOperation se o array ou coleção estiver vazia ou não incluir nenhum elemento que se encaixe nas condições testadas.

Veja o resultado ao chamarmos este método em um vetor vazio:

System.InvalidOperationException
HResult=0x80131509
Message=Sequence contains no elements
Source=System.Linq
StackTrace:
at System.Linq.ThrowHelper.ThrowNoElementsException()
at System.Linq.Enumerable.Min(IEnumerable`1 source)
at Estudos.Principal.Main(String[] args) in C:\estudos_c#\Estudos\Principal.cs:line 11


Vamos testar seus conhecimentos em Python

Qual o resultado da execução do seguinte código Python?

estados = {"SP": "SÃO PAULO", "GO": "GOIÁS",
  "RJ": "RIO DE JANEIRO"}
estados.pop("RJ")
print(estados)

A) {'SP': 'SÃO PAULO', 'GO': 'GOIÁS'}

B) {'RJ': 'RIO DE JANEIRO'}

C) Um erro TypeError: pop expected at least 1 argument, got 0 na linha 3

D) {'SP': 'SÃO PAULO', 'GO': 'GOIÁS', 'RJ': 'RIO DE JANEIRO'}

E) {'GO': 'GOIÁS', 'RJ': 'RIO DE JANEIRO'}
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em AutoCAD Civil 3D

Alinhamentos no AutoCAD Civil 3D

Qual dos objetos abaixo é constituido de uma série de linhas e curvas que representam mudanças na elevação ao longo de um alinhamento?

A) Assembly (Montagem)

B) Profile (Perfil)

C) Corridor (Corredor)

D) Surface (Superfície)
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Topografia

Rumo e azimute

Prova de Engenharia Civil Prefeitura de Jarú

O azimute correspondente ao rumo 32º 20' 30'' é:

A) 212º 20' 30''

B) 147º 39' 30''

C) 327º 39' 30''

D) 302º 20' 30''

E) 58º 40' 30''
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais

Materiais empregados para instalação de água fria e esgoto

Em terminais de pias e acessórios embutidos na parede, onde são rosqueadas mangueiras e conexões, é indicada a aplicação de joelhos reforçados, em que a rosca é metálica, embutida sob pressão no PVC. A identificação dessa conexão é por um anel azul em sua face. Em relação ao joelho convencional, que é todo em PVC, a vantagem é:

A) estética, uma vez que a face do joelho proporciona um acabamento rente ao azulejo superior à comum.

B) econômica pois elimina uma série de outros componentes e conexões.

C) o sistema de engate rapido por meio de utilização de anel de vedação junto à rosca.

D) o fato de que, com o joelho reforçado, o risco de acontecer trinca resultante de aperto é menor.

E) que fica exposta, eliminando o encaixe na alvenaria, diferentemente das comuns.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Python

Qual o resultado da execução do seguinte código Python?

valores = [4, 1, 8, 3, 7, 9]
for i in range(0, len(valores)):
  if i % 2 == 0:
    print("{0}  ".format(valores[i]), end="")

A) Erro NameError: name 'end' is not defined na linha 4

B) 4 1 8

C) Erro SyntaxError: invalid syntax na linha 3

D) 1 3 9

E) 4 8 7
Verificar Resposta Estudar Cards Todas as Questões

Desafios, Exercícios e Algoritmos Resolvidos de C#

Veja mais Dicas e truques de C#

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 35 usuários muito felizes estudando em nosso site.