Você está aqui: C# ::: Windows Forms ::: WebBrowser |
Carregando uma página HTML em um WebBrowser a partir de um diretório localQuantidade de visualizações: 11440 vezes |
Em algumas situações nós gostaríamos de exibir um documento web em um controle WebBrowser mas, este documento não será carregado a partir de um servidor web e sim de um diretório local ou em um outro computador na rede. Nesta dica mostrarei como isso é possível. 1) Comece criando o seguinte documento HTML: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <html> <head> <title>Esta é uma página web</title> </head> <body> <h3>Veja esta página HTML</h3> </body> </html> Salve este documento HTML no diretório de sua preferência com o nome de pagina.html. Uma sugestão é "C:arquivo de codigos". 2) Adicione um controle WebBrowser em um formulário Windows Forms e insira 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 carregar o documento HTML a partir de um diretório local webBrowser1.Navigate(new Uri(@"C:arquivo de codigospagina.html")); } 3) Execute a aplicação e veja o resultado. Fique atento que este código pode atirar três possíveis exceções: a) ObjectDisposedException - A instância da classe WebBrowser não é mais válida. b) InvalidOperationException - Uma referência para uma implementação da interface IWebBrowser2 não pôde ser obtida a partir do controle ActiveX WebBrowser usado para fornecer a funcionalidade do Internet Explorer ao controle WebBrowser. c) ArgumentException - O valor do parâmetro url não representa um URI (Uniform Resource Identifier) absoluto. |
Link para compartilhar na Internet ou com seus amigos: |
C# ::: Dicas & Truques ::: Data e Hora |
Como retornar o ano da data atual em C# usando a propriedade Year da classe DateTimeQuantidade de visualizações: 43 vezes |
Nesta dica eu mostrarei como podemos usar a propriedade Year da classe DateTime da linguagem C# para obter o ano de uma determinada data como um inteiro. 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) { // vamos obter a data e hora atual DateTime agora = DateTime.Now; // e agora o ano da data como um inteiro int ano = agora.Year; // e finalmente mostramos o resultado Console.WriteLine("Estamos no ano: {0}", ano); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executar este código C# nós teremos o seguinte resultado: Estamos no ano: 2022 |
C# ::: Windows Forms ::: DataGridView |
Como retornar a quantidade de colunas em um DataGridView do C# Windows FormsQuantidade de visualizações: 9836 vezes |
A quantidade de colunas em um DataGridView pode ser obtida por meio da propriedade ColumnCount. Veja: ---------------------------------------------------------------------- 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){ // vamos adicionar três colunas no DataGridView dataGridView1.Columns.Add("cidade", "Cidade"); dataGridView1.Columns.Add("estado", "Estado"); dataGridView1.Columns.Add("populacao", "População"); // vamos adicionar três linhas dataGridView1.Rows.Add("Goiânia", "GO", "3.453,39"); dataGridView1.Rows.Add("Cuiabá", "MT", "1.876,12"); dataGridView1.Rows.Add("Curitiba", "PR", "5.346,98"); // vamos obter a quantidade de colunas no DataGridView int quant_colunas = dataGridView1.ColumnCount; // exibe o resultado MessageBox.Show("O DataGridView contém " + quant_colunas + " colunas"); } É possível também usar a propriedade ColumnCount para definir a quantidade de colunas em um DataGridView: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- dataGridView1.ColumnCount = 6; Há algumas considerações importantes sobre a propriedade ColumnCount: 1) Se seu valor for definido como 0, todas as colunas do DataGridView serão removidas; 2) Se o novo valor for menor que o valor atual, as colunas excedentes serão removidas no final da coleção Columns; 3) Se o novo valor for maior que o valor atual, as novas colunas serão adicionadas no final da coleção Columns; 4) Se tentarmos alterar o valor desta propriedade após a definição da propriedade DataSource, uma exceção InvalidOperationException será lançada. |
C# ::: Dicas & Truques ::: Tipos de Dados |
Como usar os tipos de dados byte e sbyte da linguagem C#Quantidade de visualizações: 14999 vezes |
O tipo de dados byte é usado quando queremos armazenar valores inteiros na faixa de 0 a 255, ou seja, valores inteiros apenas positivos. Veja um exemplo de declaração e definição de uma variável deste tipo:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // uma variável do tipo byte byte valor = 45; O tipo byte (que possui 8 bits não sinalizados) é um apelido C# para o tipo System.Byte da plataforma .NET. Note que quando inicializamos uma variável do tipo byte com um literal inteiro, este valor é convertido implicitamente de int para byte. Se o valor sendo definido for maior que a faixa permitida, o programa não compilará. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // valor fora da faixa suportada pelo tipo byte byte valor = 290; Ao tentarmos compilar esta linha teremos o seguinte erro: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- Constant value '290' cannot be converted to a 'byte' Quando se trata de conversões implícitas, um valor do tipo byte pode ser convertido, sem a necessidade de cast, para os tipos short, ushort, int, uint, long, ulong, float, double ou decimal. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // variável do tipo byte byte valor = 28; // variável do tipo float float valor2 = valor; O caminho oposto não é verdade, ou seja, não é possível atribuir uma variável do tipo short à uma variável do tipo byte. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // variável do tipo short short valor = 50; // variável do tipo byte byte valor2 = valor; // mensagem de erro de compilação Cannot implicitly convert type 'short' to 'byte'. An explicit conversion exists (are you missing a cast?) Esta conversão não é possível, ainda que o valor contido na variável do tipo short esteja na faixa aceitável pelo tipo byte. Neste caso, um cast (conversão explícita) se faz necessário: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // variável do tipo short short valor = 50; // variável do tipo byte byte valor2 = (byte)valor; Resumindo, nenhum outro tipo de dados em C# pode ser convertido para o tipo byte implicitamente. Se quiser fazê-lo, use uma conversão explícita (cast). O tipo sbyte, por sua vez, pode armazenar valores inteiros na faixa de -128 até 127 e possui 8 bits sinalizados. Este tipo é um apelido C# para o tipo de dados System.SByte da plataforma .NET. Veja um exemplo de seu uso: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- static void Main(string[] args){ // variável do tipo sbyte sbyte valor = -45; // exibe o resultado Console.WriteLine("O valor da variável é: " + valor); // pausa o programa Console.ReadKey(); } Note que, a exemplo de byte, o tipo sbyte também é governado por algumas regras de conversão e atribuição de valores literais. Há uma conversão implícita de sbyte para os tipos short, int, long, float, double e decimal. A conversão de qualquer outro tipo de dados para o tipo sbyte só pode ser feita por meio de cast (conversão explícita). |
Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil |
Locação da obra No caso de obras de grande área (m2), erros acumulados de alinhamento podem acarretar perda de tempo e dinheiro, sendo conveniente, portanto, o auxílio da topografia. Para esse tipo de obra, que tem muitos elementos (fundações, paredes, etc.), qual é o processo ideal de locação? A) Processo dos cavaletes. B) Processo dos piquetes. C) Processo dos perfis metálicos. D) Processo dos tapumes (ou gabaritos ou tábuas corridas). E) Locação com auxílio das construções vizinhas. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Noções de licitação pública O procedimento licitatório compreende duas fases: a fase interna, ocorrida dentro do órgão ou da entidade, e a fase externa. Sobre as fases da licitação pública, assinale "V" para as afirmativas verdadeiras e "F" para as falsas. ( ) Cabem à comissão de licitação a homologação e a adjudicação do certame. ( ) A fase de habilitação poderá ser invertida a critério da administração e mediante apresentação de justificativa da referida inversão. ( ) A publicação do instrumento convocatório é a última etapa da fase interna da licitação. A alternativa que apresente a sequência correta é: A) V, V, V. B) F, F, F. C) V, V, F. D) F, V, V. E) F, V, F. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Python |
Analise o seguinte código Pythona = 1 while True: if a % 3 == 0: break print(a) a += 1 Qual é o resultado de sua execução? A) Um erro de execução B) 1 2 C) 1 2 3 D) Um laço while infinito Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil |
Serviços preliminares e instalações provisórias Em um canteiro de obras: A) São permitidas a entrada e a permanência de trabalhadores que não sejam compatíveis com a fase da obra. B) É permitida a entrada rápida de trabalhadores que não estejam assegurados. C) São proibidas a entrada e a permanência de quaisquer trabalhadores, independentemente da fase da obra. D) É proibida a entrada de trabalhadores que não estejam assegurados, mas é permitida a permanência de trabalhadores que não sejam compatíveis com a fase da obra. E) São proibidas a entrada e a permanência de trabalhadores que não estejam assegurados e que não sejam compatíveis com a fase da obra. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em JavaScript |
Qual é o local correto para a inserção de códigos JavaScript em um documento HTML? A) Seção <head> B) Seção <body> C) Os códigos JavaScript podem ser colocados tanto na seção <head> quanto na seção <body> 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 |
Python - Como obter o resto de uma divisão de inteiros em Python - O operador módulo % da linguagem Python |
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 |