Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
+55 (062) 98553-6711
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO
+55 (062) 98243-1195

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

Percorrendo todas as linhas e colunas de um DataGridView e exibindo os valores das células

Quantidade de visualizações: 21914 vezes
Este trecho de código mostra como usar dois laços for para percorrer as linhas e colunas de um DataGridView e exibir os valores das células. Note que o retorno do método DataGridView.Item() é um objeto da classe DataGridViewCell, que representa a célula sendo acessada em um determinado momento. Veja o código:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

private void button3_Click(object sender, EventArgs e){
  string res = "Valores das linhas e colunas:\n\n";
  DataGridViewCell celula = null;

  // vamos percorrer as linhas
  for(int i = 0; i < dataGridView1.RowCount; i++){
    // vamos percorrer as colunas de cada linha
    for(int x = 0; x < dataGridView1.ColumnCount; x++){
      // obtém a célula na coluna x e linha i
      celula = dataGridView1[x, i];

      if(celula.Value != null)
        res += celula.Value.ToString() + "\t";
      else
        res += "-\t";
    }

    res += "\n";
  }

  // exibe o resultado
  MessageBox.Show(res);
}


Link para compartilhar na Internet ou com seus amigos:

C# ::: Namespace System.Drawing ::: Image

Como usar o método FromFile() da classe Image do C# para criar um objeto desta classe a partir de um arquivo de imagem JPG, GIF, PNG, BMP, etc

Quantidade de visualizações: 7273 vezes
Em algumas situações precisamos criar um objeto Image a partir de um arquivo de imagem JPG, GIF, PNG, BMP, etc. Isso pode ser feito por meio do método estático FromFile() da classe Image. Veja sua assinatura:

public static Image FromFile(string filename)
Note que o método recebe uma string identificando o nome do arquivo da imagem e retorna um objeto da classe Image.

Veja um trecho de código no qual usamos o método FromFile() para criar um objeto Image a partir de uma imagem JPG em um determinado diretório. Em seguida usamos a Image construída para exibir a imagem em um PictureBox:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

private void button1_Click_1(object sender, EventArgs e){
  // constrói um objeto Image a partir do endereço da image
  Image imagem = Image.FromFile(@"C:\estudos_csharp_wf\logo.jpg");
  // atribui a imagem construída à propriedade Image
  pictureBox1.Image = imagem;
}

É importante observar que o método FromFile() pode disparar as seguintes exceções:

a) OutOfMemoryException - O arquivo não contém um formato de imagem válido ou o GDI+ não suporta o formato de pixel para o arquivo.

b) FileNotFoundException - O arquivo de imagem indicado não existe.

Assim, é sempre uma boa idéia colocar o código acima em um bloco try..catch. Veja como isso pode ser feito:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

private void button1_Click_1(object sender, EventArgs e){
  try{
    // constrói um objeto Image a partir do endereço da image
    Image imagem = Image.FromFile(@"C:\estudos_csharp_wf\logoi.jpg");
    // atribui a imagem construída à propriedade Image
    pictureBox1.Image = imagem;
  }
  catch (Exception ex){
    MessageBox.Show("Houve um erro ao carregar a imagem: " +
      ex.Message.ToString());
  }
}

Há uma sobrecarga do método FromFile() com a seguinte assinatura:

public static Image FromFile(string filename,
  bool useEmbeddedColorManagement)
O parâmetro useEmbeddedColorManagement, quando true, indica que o objeto Image retornado aplicará a correção de cores de acordo com as informações de gerenciamento de cores contidas no arquivo de imagem. As informações contidas no arquivo de imagem podem incluir perfis International Color Consortium (ICC), valores gama e informações de cromaticidade.


C# ::: Coleções (Collections) ::: List<T>

Como inserir um novo elemento em uma posição N de uma List<T> do C# usando a função Insert()

Quantidade de visualizações: 9006 vezes
Em algumas situações gostaríamos de inserir um novo elemento em uma determinada posição de uma List<T>, ou seja, queremos ser capazes de inserir o novo elemento em qualquer posição, e não somente no final da lista. Para isso podemos usar o método Insert(). Veja sua assinatura:

public void Insert(
  int index,
  T item
)
Veja que só precisamos fornecer o índice no qual o elemento será inserido e o elemento em si. Veja um exemplo:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

static void Main(string[] args){
  // vamos criar um objeto da classe List<T>
  List<int> valores = new List<int>();

  // vamos inserir quatro valores na lista
  valores.Add(5);
  valores.Add(2);
  valores.Add(6);
  valores.Add(9);

  // vamos usar o laço foreach para percorrer os elementos na lista
  Console.WriteLine("Elementos na lista:");
  foreach(int v in valores){
    Console.WriteLine(v);    
  }

  // vamos inserir um novo elemento no índice 2
  valores.Insert(2, 20);

  // vamos usar o laço foreach para percorrer os elementos na lista novamente
  Console.WriteLine("Elementos na lista:");
  foreach(int v in valores){
    Console.WriteLine(v);    
  }

  // vamos pausar a execução
  Console.ReadKey();
}

Ao executarmos este código teremos o seguinte resultado:

Elementos na lista:
5
2
6
9
Elementos na lista:
5
2
20
6
9

Este método pode lançar uma exceção do tipo ArgumentOutOfRangeException se o índice fornecido for menor que 0 ou superior à quantidade de itens na lista.


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

Como testar se uma substring está contida no final de uma string C# usando o método EndsWith() da classe String

Quantidade de visualizações: 56 vezes
Em algumas situações nós precisamos verificar se uma palavra, frase ou texto termina com um caractere ou uma determinada substring. Para isso nós podemos usar o método EndsWith() da classe String da linguagem C#.

Veja o exemplo a seguir:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

using System;

namespace Estudos {
  class Program {
    static void Main(string[] args) {
      string texto = "Gosto de programar em C#";

      if (texto.EndsWith("C#")) {
        Console.WriteLine("O texto termina com C#");
      }
      else {
        Console.WriteLine("O texto não termina com C#");
      }

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

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

O texto termina com C#


C# ::: C# + MySQL ::: MySqlCommand

Como gravar dados em uma tabela MySQL usando INSERT INTO e o comando ExecuteNonQuery() da classe MySqlCommand do C#

Quantidade de visualizações: 1172 vezes
Nesta dica mostrarei como inserir dados em uma tabela MySQL usando o comando SQL INSERT INTO e o comando ExecuteNonQuery() da classe MySqlCommand do C#. A tabela usada no exemplo contém os campos id, titulo, autor, paginas, data_cadastro. O campo id é auto-incremento e o campo data_cadastro é do tipo DATETIME. Por essa razão eu passei os valores NULL para o campo auto-incremento e o valor NOW() para o campo data_cadastro, de forma que a data e hora atual sejam gravadas.

Como se trata de uma operação INSERT, o método ExecuteNonQuery() retorna a quantidade de registros afetados pelo comando. No exemplo eu mostro como obter e exibir este valor.

Veja o código completo para o exemplo (incluindo a conexão com o banco de dados MySQL a partir do C#):

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

using System;
using System.Data;
using System.Windows.Forms;
using MySql.Data.MySqlClient;

namespace EstudosMySQL {
  public partial class Form1 : Form {
    public Form1() {
      InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e) {
      // objeto de conexão
      MySqlConnection conn = null;

      // string de conexão
      string connStr = "server=localhost;user id=root; " +
        "password=osmar1234; database=estudos; pooling=false";

      try {
        conn = new MySqlConnection(connStr);
        conn.Open();

        if (conn.State == ConnectionState.Open) {
          // primeiro criamos um novo objeto MySqlCommand
          MySqlCommand comando = new MySqlCommand();
          // definimos a conexão para este comando
          comando.Connection = conn;

          // definimos o comando SQL a ser executado 
          comando.CommandText = "INSERT INTO livros (id, titulo, " + 
            autor, paginas, data_cadastro) " +
            "VALUES(NULL, 'JAVA PARA INICIANTES', " + 
            "'OSMAR J. SILVA', 740, NOW())";
          
          // e executamos o comando SQL
          int res = comando.ExecuteNonQuery();
          if (res > 0) {
            MessageBox.Show("Operação realizada com sucesso. " 
              + res + " linhas afetadas.");
          }
          else {
            MessageBox.Show("Deve ter acontecido alguma coisa. " 
              + res + " linhas afetadas.");
          }
        }
      }
      catch (MySqlException ex) {
        MessageBox.Show("Erro: " +
          ex.Message);
      }
    }
  }
}



C# ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Exercício Resolvido de C# - Peça para o usuário informar o valor do primeiro elemento e gere os valores dos demais elementos com o dobro do

Quantidade de visualizações: 345 vezes
Pergunta/Tarefa:

Escreva um programa C# que cria um vetor de 5 posições de inteiros. Peça para o usuário informar o valor do primeiro elemento e gere os valores dos demais elementos com o dobro do elemento anterior.

Assim, se o usuário informar o valor 3 para o primeiro elemento, o valor do segundo elemento será 6, o valor do terceiro elemento será 12, e assim por diante.

Sua saída deverá ser parecida com:

Informe o valor do primeiro elemento: 5

Os elementos do vetor são:

5  10  20  40  80
Resposta/Solução:

Veja a resolução comentada deste exercício em C#:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

using System;

namespace Estudos {
  class Principal {
    // função principal do programa C#
    static void Main(string[] args) {
      // vamos declarar e construir um vetor de inteiros
      // de 5 elementos
      int[] valores = new int[5];

      // agora vamos pedir para o usuário informar o
      // valor do primeiro elemento
      Console.Write("Informe o valor do primeiro elemento: ");
      valores[0] = Int32.Parse(Console.ReadLine());

      // agora vamos gerar os valores dos próximos elementos
      for (int i = 1; i < valores.Length; i++) {
        // recebe o elemento anterior multiplicado por 2
        valores[i] = valores[i - 1] * 2;
      }

      // e agora mostramos o vetor gerado
      Console.WriteLine("\nOs elementos do vetor são:\n");
      for (int i = 0; i < valores.Length; i++) {
        Console.Write(valores[i] + "  ");
      }

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



C# ::: Dicas & Truques ::: Arquivos e Diretórios

Como retornar a extensão de um arquivo em C# usando a função GetExtension() da classe Path

Quantidade de visualizações: 15656 vezes
Muitas vezes precisamos obter a extensão de um arquivo. Em C# isso pode ser feito usando-se o método GetExtension() da classe Path. Este método recebe uma string contendo o caminho e nome do arquivo e retorna uma string contendo a extensão do arquivo (incluindo o ponto). Veja um exemplo:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

static void Main(string[] args){
  // não esqueça
  // using System.IO;
  
  // caminho e nome do arquivo
  string arquivo = "C:\\estudos_csharp\\arquivo.txt";
  
  // obtém a extensão
  string extensao = Path.GetExtension(arquivo);
  
  // exibe o resultado
  Console.WriteLine("A extensão do arquivo é: {0}",
    extensao);

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

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

A extensão do arquivo é: .txt


C# ::: Windows Forms ::: TextBox

Como definir a cor de fundo de uma caixa de texto TextBox do C# Windows Forms via código

Quantidade de visualizações: 9065 vezes
Nesta dica mostrarei como podemos usar a propriedade BackColor da classe Control do C# Windows Forms para definir a cor de fundo de uma caixa de texto TextBox. Note que criei uma TextBox com o nome textBox1 e estou chamando o código a partir do evento Click de um botão Button.

Veja o trecho de código para o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

private void button1_Click(object sender, EventArgs e){
  textBox1.BackColor = Color.YellowGreen;
}



C# ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Como inverter um array em C# usando a função Reverse() - Vetores e matrizes em C#

Quantidade de visualizações: 17041 vezes
Nesta dica mostrarei como podemos usar o método estático Reverse() da classe Array do C# para inverter a ordem dos elementos de um array (vetor). Note que este método, por ser estático, modifica o vetor passado como argumento.

Veja o código completo para o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

using System;

namespace Estudos{
  class Program{
    static void Main(string[] args) {
      // cria e inicializa um array de strings
      string[] cidades = {"Goiânia", "São Paulo",
     "Rio de Janeiro", "Curitiba"};

      Console.WriteLine("Ordem original:");
      for (int i = 0; i < cidades.Length; i++)
        Console.WriteLine(cidades[i]);

      // inverte a ordem dos elementos
      Array.Reverse(cidades);

      // exibe os elementos na ordem inversa
      Console.WriteLine();
      Console.WriteLine("Ordem inversa:");
      for (int i = 0; i < cidades.Length; i++)
        Console.WriteLine(cidades[i]);

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

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

Ordem original:

Goiânia
São Paulo
Rio de Janeiro
Curitiba

Ordem inversa:

Curitiba
Rio de Janeiro
São Paulo
Goiânia


Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil

Revestimentos: técnicas construtivas

Dentre as alternativas a seguir, qual está correta em se tratando de juntas e suas diferentes tipologias?

A) A junta estrutural possui a função de aliviar as cargas provocadas pela movimentação das peças cerâmicas.

B) A junta de assentamento possui a função de permitir o alívio de tensões originadas pela movimentação da base onde é aplicado o revestimento ou pela própria expansão das placas cerâmicas.

C) A junta de dessolidarização não deve ser utilizada em mudanças de planos (quinas de paredes tanto internas quanto externas) e perímetro das áreas revestidas.

D) Em se tratando de piso e parede internos, a junta de movimentação deve ser usada a cada 32 m2 ou quando uma das dimensões for maior que 8 m. Já para pisos externos, a junta deve ser utilizada a cada 20 m2 ou quando uma das dimensões for maior que 4 m.

E) Não há necessidade de se adotar juntas de dilatação em paredes externas, pois os azulejos apresentam alta resistência em comparação aos pisos.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em

Vidros

Qual dos processos abaixo não é utilizado para modificar o vidro:

A) Esmerilhagem.

B) Gravação.

C) Queima.

D) Furação.

E) Têmpera.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Ética e Legislação Profissional

A responsabilidade moral

O humano é um ser social e, para tal fim, estabelece valores e princípios como regras e normas de convivência para sua sobrevivência. Isso significa que:

A) o homem possui, em sua essência, a necessidade de interação com os outros seres da mesma espécie.

B) o ser humano precisa viver sozinho.

C) os animais não podem viver com humanos.

D) o ser humano não gosta de viver em sociedade.

E) humanos e animais não têm instinto.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Hidrologia

Qual das alternativas abaixo apresenta o conceito correto de bacia hidrográfica?

A) Unidade espacial que comporta a rede de drenagem delimitada pelo relevo.

B) Território marcado apenas pela presença de córregos de regime intermitente.

C) Classificação geológica formada pelo conjunto de rios com a mesma nascente.

D) Categoria de análise que é fruto da diminuição da rede de drenagem regional.

E) Categorização hidráulica dos rios que possuem a mesma vazão na jusante.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em AutoCAD Civil 3D

Qual afirmação é verdadeira em relação aos Survey Points (pontos de levantamento) do AutoCAD Civil 3D?

A) Eles podem ser editados na paleta de propriedades.

B) Eles possuem um ícone ao seu lado que se parece com um círculo sobreposto por uma cruz.

C) Eles não podem ser movidos usando comandos básicos que não sejam específicos do Civil 3D.

D) Eles podem ser editados na janela Panorama -> tab Point Editor.
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

E-Books em PDF

E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

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



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