Você está aqui: C# ::: Dicas & Truques ::: Mouse e Teclado |
Como testar o estado da tecla Scroll LockQuantidade de visualizações: 7603 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"); } } |
Link para compartilhar na Internet ou com seus amigos: |
C# ::: Windows Forms ::: Formulários e Janelas |
Como maximizar um formulário Windows Forms ao clicar em um botão usando a linguagem C#Quantidade de visualizações: 13227 vezes |
Em algumas situações gostaríamos de maximizar um formulário Windows Forms baseado em alguma ação do usuário. Isso pode ser feito definindo-se a constante FormWindowState.Maximized para a propriedade WindowState da classe Form. O trecho de código abaixo mostra como maximizar o formulário ao clicarmos em 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 maximizar o formulário this.WindowState = FormWindowState.Maximized; } |
C# ::: Dicas & Truques ::: Tipos de Dados |
Curso de C# - Como usar os tipos de dados short e ushort da linguagem C#Quantidade de visualizações: 9066 vezes |
O tipo de dados short é um tipo primitivo integral com sinal (signed) que pode armazenar valores inteiros na faixa de -32.768 até 32.767. Este tipo ocupa 16 bits (2 bytes) de memória e é um apelido para o tipo System.Int16 da plataforma .NET. Podemos obter os valores mínimo e máximo que podem ser armazenados em um short por meio de suas propriedades MinValue e MaxValue. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- static void Main(string[] args){ // vamos obter o valor mínimo de um short short minimo = short.MinValue; // vamos obter o valor máximo de um short short maximo = short.MaxValue; // vamos mostrar o resultado Console.WriteLine("A faixa de valores de um short é: " + minimo + " até " + maximo); // vamos pausar a execução Console.ReadKey(); } Ao executarmos este código teremos o seguinte resultado: A faixa de valores de um short é: -32768 até 32767. Ao atribuir valores para um short em tempo de design, ou seja, como um literal, devemos ter o cuidado de não atribuir valores que estejam fora da faixa permitida. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- static void Main(string[] args){ // a linha abaixo não vai compilar short valor = 35767; // vamos pausar a execução Console.ReadKey(); } Este código não compila. A mensagem de erro: Constant value '35767' cannot be converted to a 'short' nos informa que o valor 35767 (que está acima da faixa permitida) não pode ser convertido para um short. Assim, se você desejar mesmo efetuar tal procedimento, uma conversão forçada (cast) deve ser feita: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- static void Main(string[] args){ int valor = 35767; // vamos forçar a conversão para short short valor2 = (short)valor; // vamos mostrar o resultado Console.WriteLine("Valor após o cast: " + valor2); // vamos pausar a execução Console.ReadKey(); } Aqui nós "esprememos" o valor 35767 para um short e o resultado, -29769, definitivamente não é o que estávamos esperando. O tipo ushort é um tipo primitivo integral sem sinal (unsigned) que pode armazenar valores inteiros na faixa de 0 até 65.535. Este tipo ocupa 16 bits (2 bytes) de memória e é um apelido para o tipo System.UInt16 da plataforma .NET. Podemos obter os valores mínimo e máximo que podem ser armazenados em um ushort por meio de suas propriedades MinValue e MaxValue. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- static void Main(string[] args){ // vamos obter o valor mínimo de um ushort ushort minimo = ushort.MinValue; // vamos obter o valor máximo de um ushort ushort maximo = ushort.MaxValue; // vamos mostrar o resultado Console.WriteLine("A faixa de valores de um ushort é: " + minimo + " até " + maximo); // vamos pausar a execução Console.ReadKey(); } Ao executarmos este código teremos o seguinte resultado: A faixa de valores de um ushort é: 0 até 65535. |
C# ::: Dicas & Truques ::: Tipos de Dados |
C# para iniciantes - Como usar o tipo de dados char da linguagem C#Quantidade de visualizações: 15604 vezes |
O tipo de dados char é usado quando queremos declarar, definir e usar caracteres em nossos programas. Em C#, uma variável do tipo char armazena um caractere Unicode, que são caracteres de 16 bits usados para representar a maioria das linguagens escritas mais conhecidas no mundo. O tipo char é um apelido C# para o tipo System.Char da plataforma .NET e sua faixa de valores varia de U+0000 à U+ffff (de 0 à 65535). Variáveis do tipo char podem ser declaradas e receber valores literais de três formas. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // define uma letra char letra = 'A'; // define um valor hexadecimal equivalente à letra "A" char letra2 = '\x0041'; // define um valor Unicode equivalente à letra "A" char letra3 = '\u0041'; Há ainda a possibilidade de efetuar um cast de um valor inteiro para o tipo char. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // converte o valor 65 para um char char letra = (char)65; // exibe o resultado Console.WriteLine("A letra é: " + letra); Quando se trata de conversões implícitas, o tipo char pode ser convertido implicitamente para os tipos ushort, int, uint, long, ulong, float, double e decimal. Contudo, o caminho contrário não é possível, ou seja, nenhum outro tipo de dados pode ser convertido para o tipo char sem a necessidade de um cast (conversão explícita). Para finalizar, veja um trecho de código que exibe o alfabeto completo em letras maiúsculas: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- static void Main(string[] args){ for(int i = 65; i <= 90; i++){ char letra = (char)i; Console.Write(letra + " "); } // pausa o programa Console.ReadKey(); } |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Ética, Legislação e Entidades que regulamentam a profissão Pensando no papel dos códigos de conduta ética desenvolvidos pelas empresas, qual afirmativa a seguir é incorreta? A) Podem ser apresentados através das políticas e objetivos da empresa, bem como pode ser repassado de modo informal através da cultura da empresa. B) Em geral, os códigos abordam temas relativos à qualidade dos serviços e produtos, assuntos sigilosos, tratamento de clientes e fornecedores, entre outros. C) O código de ética é a referência suprema para conduta dos funcionários, sendo, inclusive, mais relevante que as leis e códigos das entidades de classe em uma situação de impasse. D) Você deve sempre procurar seguir o código de conduta ética de sua empresa, o que lhe orientará na qualidade do trabalho e relacionamento com colegas, clientes e fornecedores. E) É correto, em uma entrevista de trabalho, abordar o código de ética da organização, solicitando-o e perguntando sobre alguma temática. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica |
Velocidade de entrada e saída de um fluido O tanque tem uma entrada e uma saída de água. Determine a altura H do tanque em função da área A, velocidade de entrada V1 em um bocal com diâmetro d1 e velocidade de saída V2 em um bocal com diâmetro d2, após um intervalo de tempo t, sendo que o tanque se encontrava vazio. Determine também o tempo de enchimento do tanque conforme os dados: H = 10m; A = 2,5m2; V1 = 0,7m/s; d1 = 20cm; V2 = 3m/s; d2 = 15 cm. A) H = (V2d22 - V1d12)tπ/4A 0,08 segundos. B) H = (V2 - V1)t/A 10,87 segundos. C) H = (V2d22 - V1d12)tπ/4A 806 segundos. D) H = (V2d22 - V1d12)tπ/A 201 segundos. E) H = (V2d22 - V1d12)tπ/2A 403 segundos. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica |
Cálculo de velocidade de escoamento e vazão de canais usando a Equação de Manning Determine a vazão escoada em um canal com seção retangular, com lâmina d'água de 2,00m e largura de base igual a 3,00m e declividade 0,2m por Km. Utilize η=0,012. Selecione a resposta correta: A) 1,06 m3/s B) 0,84 m3/s C) 6,63 m3/s D) 4,22 m3/s E) 7,00 m3/s Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais |
Instalações prediais de águas pluviais Os cálculos para a vazão de entrada, por vezes, podem ser simplificados. A NBR 10844 permite simplificações para pequenas áreas que agilizam o trabalho e possibilitam a não utilização de curvas IDF. Tendo isso em mente, considere que uma casa tem projeção em planta de 90m2 e um telhado com duas águas com largura de 6m, comprimento de 10m e altura de 1,20m. Qual será a vazão utilizada para o cálculo da calha? A) 165L/min. B) 125L/min. C) 150L/min. D) 190L/min. E) 145L/min. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em |
Dimensionamento de pilares de canto A determinação do momento atuante em um pilar de canto é um dos pontos principais no dimensionamento de armaduras. Analise o pilar do exemplo a seguir:​​​​​​​ Qual o valor do momento total na direção mais crítica? A) Md, total,x = 3.500KN.cm. B) Md, total,x = 7.352,84KN.cm. C) Md, total,x = 5.012KN.cm. D) Md, total,x = 1.569KN.cm. E) Md, total,x = 2.569KN.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 |
Software 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 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 |