Você está aqui: C# ::: Dicas & Truques ::: Mouse e Teclado |
Como testar o estado da tecla Scroll LockQuantidade de visualizações: 7654 vezes |
Em algumas situações nós precisamos verificar o estado da tecla Scroll Lock (alguém aí já descobriu a real utilidade desta tecla?), ou seja, precisamos saber se ela está ou não ativada. Em C# isso pode ser feito de duas formas: 1) A forma mais simples, oferecida no .NET Framework a partir da versão 2.0; 2) Usando código não gerenciado (unmanaged code) e acessar a API do Windows (Win32 API). Vamos começar com a forma mais fácil, disponível no .NET Framework a partir da versão 2.0: ---------------------------------------------------------------------- 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 verificar se a tecla Scroll Lock está ativada if(Control.IsKeyLocked(Keys.Scroll)){ MessageBox.Show("A tecla Scroll Lock está ativada"); } else{ MessageBox.Show("A tecla Scroll Lock NÃO está ativada"); } } Aqui nós usamos o método IsKeyLocked() da classe Control e fornecemos como argumento a constante Scroll, da enumeração Keys. A segunda forma consiste em usar código não gerenciado (unmanaged code) e acessar a API do Windows (Win32 API). Para isso devemos seguir os seguintes passos: a) Adicionar using System.Runtime.InteropServices; na seção de importações. b) Adicionar o código abaixo no corpo da classe, como um método: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // Função com código não gerenciado que obtém o estado de uma // determinada tecla [DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)] public static extern short GetKeyState(int keyCode); c) Adicione o código abaixo no evento Click de um botão: ---------------------------------------------------------------------- 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 estado da tecla Scroll Lock como um boolean bool ScrollLock = (((ushort)GetKeyState(0x91)) & 0xffff) != 0; // vamos verificar se a tecla Scroll Lock está ativada if(ScrollLock){ MessageBox.Show("A tecla Scroll Lock está ativada"); } else{ MessageBox.Show("A tecla Scroll Lock NÃO está ativada"); } } |
![]() |
C# ::: Windows Forms ::: DataGridView |
Como retornar a célula atual em um DataGridView do C# Windows Forms como um objeto da classe DataGridViewCellQuantidade de visualizações: 12843 vezes |
A célula atual de um DataGridView pode ser obtida por meio da propriedade CurrentCell. Esta propriedade retorna um objeto da classe DataGridViewCell. Por meio de propriedades e métodos desta classe podemos obter os índices da coluna e da linha às quais a célula pertence, seu valor, estilo, etc. Veja um trecho de código no qual obtemos o valor da célula atual de um 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 obter a célula atual (que possui o foco) DataGridViewCell celulaAtual = dataGridView1.CurrentCell; // vamos exibir o valor da célula atual string valor = celulaAtual.Value.ToString(); MessageBox.Show("O valor da célula atual é: " + valor); } Se não houver célula atual no DataGridView, o retorno da propriedade CurrentCell será null. |
C# ::: Windows Forms ::: DataGridView |
Como retornar a coluna da célula selecionada em um DataGridView do C# Windows FormsQuantidade de visualizações: 14635 vezes |
Muitas vezes precisamos obter a coluna atual de uma determinada célula selecionada no DataGridView. Isso pode ser feito obtendo-se o índice da coluna da célula selecionada e então fornecendo este índice para a propriedade Columns da classe DataGridView. O retorno será um objeto da classe DataGridViewColumn, que representa uma coluna no DataGridView. Podemos usar esta classe para obter o índice da coluna que contém a célula selecionada, percorrer todas as células de uma determinada coluna, etc. Veja um trecho de código no qual obtemos o DataGridViewColumn representando a coluna da célula selecionada: ---------------------------------------------------------------------- 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 obter a coluna da célula selecionada DataGridViewColumn colunaAtual = dataGridView1.Columns[dataGridView1.CurrentCell.ColumnIndex]; // vamos exibir o índice da coluna atual int indice = colunaAtual.Index; MessageBox.Show("O índice da coluna atual é: " + indice); } |
C# ::: Dicas & Truques ::: Data e Hora |
Como obter a quantidade de dias em um determinado mês usando o método GetDaysInMonth() da classe GregorianCalendar do C#Quantidade de visualizações: 12067 vezes |
Em algumas situações precisamos saber quantos dias há em um determinado mês. Para isso podemos usar o método GetDaysInMonth() da classe Calendar (ou alguma de suas subclasses). Este método recebe dois valores inteiros: o ano e o mês desejado. Na classe GregorianCalendar (que extende Calendar) o método GetDaysInMonth() retorna 28 para os anos comuns e 29 para os anos bissextos. Veja um trecho de código no qual usamos o método GetDaysInMonth() para obter a quantidade de dias para o mês de Março de 2009: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- static void Main(string[] args){ // using System.Globalization; // obtém uma instância da classe GregorianCalendar Calendar c = new GregorianCalendar(); // obtém a quantidade de dias para março de 2009 int dias = c.GetDaysInMonth(2009, 3); // exibe o resultado Console.WriteLine("Este mês possui {0} dias", dias); // pausa o programa Console.ReadKey(); } Note, contudo, que o mesmo resultado pode ser obtido por meio do calendário padrão independente de cultura, desde que as regiões as quais o programa se destina tenham compatibilidade de calendários: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- Calendar c = CultureInfo.InvariantCulture.Calendar; O método GetDaysInMonth() pode atirar uma exceção do tipo ArgumentOutOfRangeException se os valores do ano ou mês estiverem fora das faixas permitidas pelo calendário. Veja: System.ArgumentOutOfRangeException was unhandled Message="Month must be between one and twelve. Parameter name: month" Source="mscorlib" ParamName="month" |
Desafios, Exercícios e Algoritmos Resolvidos de C# |
Veja mais Dicas e truques de C# |
Dicas e truques de outras linguagens |
CSS - Como definir uma imagem de fundo para a página HTML em CSS usando a propriedade background-image |
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 |