Você está aqui: C# ::: Windows Forms ::: ListView |
Usando os eventos ItemCheck e ItemChecked da classe ListView para detectar quando um item é marcado ou desmarcadoQuantidade de visualizações: 9626 vezes |
A classe ListView permite a exibição de caixas de seleção (check boxes) ao lado de seus itens (exceto quando o modo de visualização está definido como Tile). Desta forma, é interessante sermos capazes de detectar quando a check box de um determinado item é marcada ou desmarcada. O evento ItemCheck da ListView é disparado quando o estado de um item está em transição entre marcado e desmarcado ou vice-versa. Note que o evento é disparado durante a transição, ou seja, ele não é disparado nem no ínicio nem no fim, mas no meio da operação. 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 definir o modo de exibição da ListView listView1.View = View.Details; // vamos exibir caixas de seleção ao lado de cada item listView1.CheckBoxes = true; // vamos adicionar três colunas listView1.Columns.Add("Código"); listView1.Columns.Add("Nome"); listView1.Columns.Add("Categoria"); // vamos adicionar uma linha de dados listView1.Items.Add("56"); // primeira coluna listView1.Items[0].SubItems.Add("Osmar J. Silva"); // segunda coluna listView1.Items[0].SubItems.Add("Cliente"); // terceira coluna // vamos adicionar mais uma linha de dados listView1.Items.Add("105"); // primeira coluna listView1.Items[1].SubItems.Add("Carlos Igor de Souza"); // segunda coluna listView1.Items[1].SubItems.Add("Fornecedor"); // terceira coluna // vamos adicionar mais uma linha de dados listView1.Items.Add("16"); // primeira coluna listView1.Items[2].SubItems.Add("Fernanda Santos Oliveira"); // segunda coluna listView1.Items[2].SubItems.Add("Cliente"); // terceira coluna } private void listView1_ItemCheck(object sender, ItemCheckEventArgs e){ MessageBox.Show("Este item está passando do estado " + e.CurrentValue + " para o estado " + e.NewValue); } Veja que o tratador de evento ItemCheck recebe um objeto da classe ItemCheckEventArgs. Esta classe possui as seguintes propriedades: CurrentValue - Obtém um dos valores da enumeração CheckState que representa o estado atual do item. Se o item estiver selecionado o valor Checked será retornado. Caso contrário o valor retornado é Unchecked. Index - Obtém o índice do item que está prestes a ser marcado ou desmarcado. NewValue - Obtém um dos valores da enumeração CheckState que representa o novo estado do item. Se o item estiver prestes a ser selecionado o valor Checked será retornado. Caso contrário o valor retornado é Unchecked. O evento ItemChecked, por sua vez, é disparado quando a operação de marcar ou desmarcar um item é finalizada. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- private void listView1_ItemChecked(object sender, ItemCheckedEventArgs e){ // vamos obter o item que foi marcado ou desmarcado ListViewItem item = e.Item; // vamos verificar se o item foi marcado ou desmarcado if(item.Checked){ MessageBox.Show("O item foi MARCADO"); } else{ MessageBox.Show("O item foi DESMARCADO"); } } Note que o tratador de evento ItemChecked recebe um objeto da classe ItemCheckedEventArgs. E esta classe possui apenas uma propriedade, que é uma referência ao item (ListViewItem) da ListView que está sendo marcado ou desmarcado. |
![]() |
C# ::: Desafios e Lista de Exercícios Resolvidos ::: Matemática e Estatística |
Exercícios Resolvidos de C# - Como calcular juros simples em C# - Um programa C# que lê o valor principal, o tempoQuantidade de visualizações: 596 vezes |
Pergunta/Tarefa: Saber como escrever um programa C# que recebe o valor principal, o tempo e a taxa de juros e retorna os juros simples a serem pagos ou recebidos é uma habilidade que todo programador deve aprender em algum ponto de sua carreira. Sendo assim, escreva um algoritmo em C# que pede para o usuário informar um valor a ser pago ou recebido, o tempo em dias, meses ou anos e a taxa de juros (sem dividi-la por 100) e retorne os juros simples a serem pagos ou recebidos. Note que, se você quiser mostrar o valor total a ser pago ou recebido, basta somar os juros ao valor principal. Antes, porém, veja a fórmula do cálculo de juros simples: \[\text{Juros} = \frac{\text{C} \times \text{i} \times \text{t}}{100}\] Onde: C é o valor a ser pago ou a ser recebido; i é a taxa de juros (sem dividir por 100); t é o tempo em dias, meses, anos, etc. Sua saída deverá ser parecida com: Informe o valor principal: 600 Taxa de juros: 12 Informe o tempo: 5 Juros a serem pagos ou recebidos: 360.0 Veja a resolução comentada deste exercício usando C#: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- using System; namespace Estudos { class Principal { // função principal do programa C# static void Main(string[] args) { // vamos ler o valor principal Console.Write("Informe o valor principal: "); double principal = Double.Parse(Console.ReadLine()); // agora vamos ler a taxa de juros Console.Write("Taxa de juros: "); double taxa = Double.Parse(Console.ReadLine()); // finalmente o tempo em dias, meses, anos, etc Console.Write("Informe o tempo: "); int tempo = Int32.Parse(Console.ReadLine()); // vamos calcular os juros double juros = (principal * taxa * tempo) / 100; // e mostramos o resultado Console.WriteLine("Juros a serem pagos ou recebidos: " + juros); Console.WriteLine("\nPressione uma tecla para sair..."); Console.ReadKey(); } } } |
C# ::: Dicas & Truques ::: Strings e Caracteres |
Como remover todos os espaços de uma string em C# usando o método Replace() da classe String - Apostila C# para iniciantesQuantidade de visualizações: 13826 vezes |
Nesta dica mostrarei como tirar proveito do método Replace() da classe String do C# para remover todos os espaços de uma frase ou texto. Note que, usando esta técnica, todos os espaços serão removidos, tanto no início, quanto no meio ou fim da string. 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; namespace Estudos{ class Program{ static void Main(string[] args) { string frase = "Gosto muito de C#"; Console.WriteLine("Com espaços: " + frase); // remove todos os espaços frase = frase.Replace(" ", ""); Console.WriteLine("Sem espaços: " + frase); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executar este código nós teremos o seguinte resultado: Com espaços: Gosto muito de C# Sem espaços: GostomuitodeC# |
C# ::: Namespace System.Drawing ::: Image |
Gráficos C# Windows Forms - Como usar a classe Image em suas aplicações C#Quantidade de visualizações: 6355 vezes |
A classe Image, do namespace System.Drawing (no assemply System.Drawing.dll) é uma classe abstrata de base que fornece funcionalidades para as classes derivadas Bitmap e Metafile (que são classes concretas e sealed, ou seja, não podem ter suas funcionalidades herdadas por outras classes). Por ser uma classe abstrata, não podemos criar novas instâncias de Image (usando new()). Em vez disso nós a usamos apenas para chamar seus métodos estáticos ou como referência para as classes derivadas. Veja um trecho de código no qual carregamos um bitmap e o exibimos em um PictureBox: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- private void button2_Click_1(object sender, EventArgs e){ try{ // vamos carregar o bitmap a partir de um diretório Image imagem = new Bitmap(@"C:\estudos_csharp_wf\logo.bmp", true); // vamos exibir a imagem no PictureBox pictureBox1.Image = imagem; } catch(ArgumentException ae){ MessageBox.Show("Houve um erro ao carregar a imagem: " + ae.Message.ToString()); } } Veja que declaramos uma Image e a usamos como referência a um Bitmap. É claro que podemos perfeitamente trocar a linha: Image imagem = new Bitmap(@"C:\estudos_csharp_wf\logo.bmp", true); por: Bitmap imagem = new Bitmap(@"C:\estudos_csharp_wf\logo.bmp", true); O código compila normalmente, mas aí perdemos todo o poder que o polimorfismo nos entrega. Sempre que possível, devemos programar em cima das interfaces, superclasses e classes abstratas. Além dos métodos estáticos, a classe Image fornece várias propriedades. Veja uma modificação do exemplo anterior no qual obtemos a largura e a altura da imagem que foi carregada: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- private void button2_Click_1(object sender, EventArgs e){ try{ // vamos carregar o bitmap a partir de um diretório Image imagem = new Bitmap(@"C:\estudos_csharp_wf\logo.bmp", true); // vamos exibir a imagem no PictureBox pictureBox1.Image = imagem; // vamos exibir a largura e altura da imagem MessageBox.Show("A imagem carregada possui a largura de " + imagem.Width + " pixels e altura de " + imagem.Height + " pixels."); } catch(ArgumentException ae){ MessageBox.Show("Houve um erro ao carregar a imagem: " + ae.Message.ToString()); } } Depois de carregada a imagem você verá uma mensagem parecida com: A imagem carregada possui a largura de 80 pixels e altura de 50 pixels. |
Desafios, Exercícios e Algoritmos Resolvidos de C# |
Veja mais Dicas e truques de C# |
Dicas e truques de outras linguagens |
Códigos Fonte |
![]() 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 |
![]() 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 |