Você está aqui: C# ::: Windows Forms ::: DataGridView

Entenda os modos de seleção de células, linhas e colunas de um DataGridView

Quantidade de visualizações: 14555 vezes
A forma como células, linhas e colunas podem ser selecionadas em um DataGridView é controlada pela propriedade SelectionMode (em tempo de design ou execução). No .NET 2.0 e Visual C# 2005, esta propriedade pode receber 5 valores diferentes, presentes na enumeração DataGridViewSelectionMode. Veja a descrição de cada um:

CellSelect - Uma ou mais células individuais podem ser selecionadas. Neste modo não é possível selecionar a linha inteira clicando na seta exibida ao lado de cada linha (RowHeader).

ColumnHeaderSelect - Todas as células de uma coluna serão selecionadas ao clicar no título da coluna correspondente. Células individuais podem ser selecionadas com um clique nas mesmas. Este modo pode gerar uma exceção do tipo InvalidOperationException se o valor da propriedade SortMode de alguma das colunas do DataGridView for DataGridViewColumnSortMode.Automatic:

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

DataGridView control's SelectionMode cannot be 
set to ColumnHeaderSelect while it has a column 
with SortMode set to 
DataGridViewColumnSortMode.Automatic.

FullColumnSelect - Todas as células de uma determinada coluna serão selecionadas se clicarmos no título da coluna ou em qualquer célula pertecente a tal coluna. Este modo também pode gerar uma exceção do tipo InvalidOperationException se o valor da propriedade SortMode de alguma das colunas do DataGridView for DataGridViewColumnSortMode.Automatic

FullRowSelect - A linha inteira será selecionada se clicarmos na seta ao lado de cada linha (RowHeader) ou em qualquer célula contida na tal linha.

RowHeaderSelect - Este é o modo padrão. Neste modo a linha inteira será selecionada ao clicarmos na seta ao lado de cada linha (RowHeader). Células individuais podem ser selecionadas ao clicarmos em cada uma.

Veja um trecho de código no qual definimos o valor DataGridViewSelectionMode.FullRowSelect para a propriedade SelectionMode de um DataGridView:

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

dataGridView1.SelectionMode = 
  DataGridViewSelectionMode.FullRowSelect;

Observe agora um trecho de código no qual obtemos o modo de seleção usado em um determinado momento:

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

string modo = dataGridView1.SelectionMode.ToString();
MessageBox.Show("O modo de seleção é: " + modo);

Em algumas situações precisamos comparar o modo de seleção atual com um dos valores na enumeração DataGridViewSelectionMode. Veja como isso pode ser feito:

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

if(dataGridView1.SelectionMode ==
    DataGridViewSelectionMode.RowHeaderSelect){
  MessageBox.Show("O modo de seleção é RowHeaderSelect");
}
else{
  MessageBox.Show("O modo de seleção NÃO é RowHeaderSelect");
}


Link para compartilhar na Internet ou com seus amigos:

C# ::: Dicas & Truques ::: Strings e Caracteres

Como contar as palavras de uma frase ou texto em C# usando as funções IndexOf(), Replace() e Split() da classe String

Quantidade de visualizações: 12028 vezes
Este exemplo mostra como retornar a quantidade de palavras em uma frase ou texto usando métodos da classe String do C#. Veja como usar os métodos IndexOf() e Replace() para remover os espaços em excesso e, em seguida, o método Split() para quebrar as partes da frase ou texto usando um único espaço como separador.

Veja o código completo:

----------------------------------------------------------------------
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) {
      string frase = "Gosto muito de C# e Java";
      int cont = 0;

      // remove os espaços em excesso
      while (frase.IndexOf("  ") >= 0) {
        frase = frase.Replace("  ", " ");
      }

      // remove espaços antes e depois da string
      frase = frase.Trim();

      // conta as palavras
      cont = frase.Split(" ").Length;
      Console.WriteLine("A frase contém " + cont + " palavras");

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

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

A frase contém 6 palavras


C# ::: Namespace System.Drawing ::: Graphics

Desenhando retângulos usando o método DrawRectangle() da classe Graphics do C#

Quantidade de visualizações: 7101 vezes
Retângulos podem ser desenhados em C# e Windows Forms usando o método DrawRectangle() da classe Graphics. Este método pede a caneta de desenho (um objeto da classe Pen), as coordenadas do canto superior esquerdo e a largura e altura do retângulo. Veja a assinatura do método DrawRectangle() mais comumente usada:

Graphics.DrawRectangle(Pen, Single, Single, Single, Single)


Veja um trecho de código no qual desenhamos um retângulo com 250 pixels de largura por 150 pixels de altura:

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

private void button1_Click(object sender, EventArgs e){
  // vamos obter o Graphics do formulário
  Graphics g = this.CreateGraphics();

  // vamos desenhar um retângulo de 250 pixels de largura por 150
  // pixels de altura
  g.DrawRectangle(new Pen(Color.Red, 1), 50, 50, 250, 150);

  // vamos liberar o objeto Graphics
  g.Dispose();
}

As coordenadas do canto superior esquerdo e a largura e altura do retângulo podem ser especificadas como um objeto da estrutura Rectangle. Veja:

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

private void button1_Click(object sender, EventArgs e){
  // vamos obter o Graphics do formulário
  Graphics g = this.CreateGraphics();

  // vamos desenhar um retângulo de 250 pixels de largura por 150
  // pixels de altura
  g.DrawRectangle(new Pen(Color.Red, 1), 
    new Rectangle(100, 100, 250, 150));

  // vamos liberar o objeto Graphics
  g.Dispose();
}



C# ::: Dicas & Truques ::: Sistema

Como retornar a capacidade do HD em MB ou GB em C# usando um objeto ManagementObject

Quantidade de visualizações: 8850 vezes
Nesta dica mostrarei como podemos usar um objeto ManagementObject para retornar o tamanho de um HD em MB ou GB usando a linguagem C#. No exemplo eu acessei o drive C, mas você pode usar qualquer um que esteja disponível na sua máquina.

Veja o código C# completo para o exemplo:

----------------------------------------------------------------------
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) {
  // não esqueça de importar
  // using System.Management;

  // vamos criar um novo objeto ManagementObject
  ManagementObject dispositivo =
    new ManagementObject("win32_logicaldisk.deviceid=\"C:\"");
  // vamos retornar o dispositivo
  dispositivo.Get();

  // agora vamos retornar o tamanho do HD
  double tam = Convert.ToDouble(dispositivo["Size"]);
      
  // convertemos para GB
  tam = tam / 1024 / 1024 / 1024;
  // e mostramos o resultado
  textBox1.Text = "O HD tem capacidade de " + tam + " GB";
}

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

O HD tem capacidade de 251,767574310303 GB

Se você quiser o tamanho do HD em MB, basta usar:

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

tam = tam / 1024 / 1024;

Nos testes que fiz no Visual Studio 2019, não foi possível acessar o HD a partir de uma aplicação C# console, somente por meio de uma aplicação Windows Desktop. Veja a mensagem retornada:

System.PlatformNotSupportedException: 'System.Management currently is only supported for Windows desktop applications.'


Vamos testar seus conhecimentos em Python

Analise o seguinte código Python

a = {5, 8, 2, 1}
b = {1, 4, 5, 3}
c = a.intersection(b)
print(c)

Qual é o resultado de sua execução?

A) {1, 5}

B) Um erro de execução na linha 2

C) {5, 5, 1, 1}

D) {5, 8, 2, 1, 1, 4, 5, 3}
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?

valor = 5
for i in range(0, 4):
  valor++
  
print("O valor final é: {0}  ".format(valor))

A) O valor final é: 8

B) O valor final é: 9

C) Erro de SyntaxError: invalid syntax na linha 3

D) O valor final é: 7

E) Erro de SyntaxError: invalid syntax na linha 2
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Fundações

Fundações diretas ou rasas

As fundações rasas ou diretas apresentam como características a transmissão da carga ao terreno, predominantemente pelas pressões distribuídas sob a base da fundação, e a profundidade de assentamento em relação ao terreno inferior a duas vezes a menor dimensão da fundação.

Sobre as fundações superficiais rasas ou diretas, assinale a alternativa correta.

A) A sapata associada pode ser definida como a sapata sujeita à ação de uma carga distribuída linearmente ou de pilares ao longo de um mesmo alinhamento.

B) O radier é o elemento de fundação superficial que abrange parte ou todos os pilares de uma estrutura, distribuindo os carregamentos.

C) A sapata corrida é definida como a sapata comum a mais de um pilar. Devido a essa particularidade, para sua execução é necessário o uso de máquinas.

D) A sapata é dimensionada de modo que as tensões de tração nela resultantes sejam resistidas pelo concreto, sem necessidade de armadura.

E) O bloco é dimensionado de modo que as tensões de tração nele resultantes sejam resistidas pelo emprego de armadura disposta para esse fim.
Verificar Resposta Estudar Cards Todas as Questões

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

Instalações prediais de combate a incêndio

A norma NBR 13714 estabelece os critérios mínimos exigíveis para sistemas de hidrantes e de mangotinhos, para uso exclusivo no combate a incêndio. Com base nesses critérios, assinale a alternativa correta:

A) Uma edificação com área de 850m2 não necessita de um sistema de mangotinhos ou de hidrantes para proteção contra incêndio.

B) O ponto de tomada de água para hidrantes e mangotinhos pode ser instalado a até 10m de distância das portas externas e escadas.

C) Os hidrantes devem ser distribuídos de tal forma que qualquer ponto da área a ser protegida seja alcançado por no mínimo dois esguichos.

D) Uma edificação com parede externa de 12m de altura necessita que o hidrante externo seja instalado afastado no máximo 18m da edificação.

E) Uma edificação com parede externa de 12m de altura necessita que o ponto de tomada de água seja instalado a no máximo 2m em relação ao piso.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em

Dimensionamento de pilares de extremidade

As solicitações que ocorrem num pilar de extremidade podem ser as forças normais e os momentos fletores. No método de dimensionamento do pilar-padrão com curvatura aproximada, considera-se um momento mínimo que deverá ser comparado com os demais momentos de 1ª ordem.

Diante do exposto, qual é o valor do momento mínimo nas direções x e y do pilar de extremidade apresentado na figura a seguir?



A) M1d, mín, x = 4025,65KN.cm; M1d, mín, y = 2499,5KN.cm.

B) M1d, mín, x = 1585,25KN.cm; M1d, mín, y = 2389,21KN.cm.

C) M1d, mín, x = 2500KN.cm; M1d, mín, y = 3056,5KN.cm.

D) M1d, mín, x = 2028,6KN.cm; M1d, mín, y = 3056,5KN.cm.

E) M1d, mín, x = 2028,6KN.cm; M1d, mín, y = 2499KN.cm.
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á 36 usuários muito felizes estudando em nosso site.