none
[DUVIDA] TextBox Transparente? RRS feed

  • Pergunta

  • Pessoal, gostaria de saber como faço para deixar meu TexBox transparente, tem como? Andei pesquisando na Internet e vi um site que disponibiliza uma .dll. Funciona, porém quando vou digitar os caracteres ficam todos bugados, pode ser pelo fato do site ter publicidade o tópico em 2003. Preciso MUITO resolver essa dúvida. 

    *O erro aparece quando vou clicar em Appearence > BackColor > Web >  Transparent - Property value is not valid. 



    • Editado Hcn20 sexta-feira, 26 de agosto de 2016 15:59
    sexta-feira, 26 de agosto de 2016 15:58

Respostas

  • Olá,

    para que o componente textbox esteja na cor que você escolheu ao iniciar, remova o código do evento Text Changed e coloque-o logo abaixo o InitializeComponent();

    public Form1()
     {
           InitializeComponent();
    this.textBox1.BackColor = ColorTranslator.FromHtml("#FFDFD991");
    this.textBox1.BorderStyle = BorderStyle.None;
    }

     No caso de imagens acredito que não irá funcionar mesmo.

    Abs.


    Leandro de Agostini MCTS - Web Application, Framework 4

    sábado, 27 de agosto de 2016 16:56

Todas as Respostas

  • Olá Hcn,

    tente o seguinte, declare uma cor para o seu textbox, defina a espessura da borda e depois defina novamente a cor do seu textbox como transparente. Segue exemplo:

    this.txtTeste.BackColor = Color.AliceBlue;
    this.txtTeste.BorderWidth = 0;
    this.txtTeste.BackColor = Color.Transparent;

    Abs.


    Leandro de Agostini MCTS - Web Application, Framework 4

    sexta-feira, 26 de agosto de 2016 17:02
  • Ah, sim. Eu coloco esse código embaixo do meu private void textBox1_TextChanged(object sender, EventArgs e), isso? Outra dúvida, aonde está escrito, txtTeste, coloco TextBox1? 

    *Em relação ao BorderWidth, apresentou um erro também. 

    *An unhandled exception of type 'System.ArgumentException' occurred in System.Windows.Forms.dll

    Additional information: O controle não dá suporte a cores da tela de fundo transparente. Outro erro.


    • Editado Hcn20 sexta-feira, 26 de agosto de 2016 17:40
    sexta-feira, 26 de agosto de 2016 17:25
  • OLá,

    1. substitua o TxtTeste pelo nome (ID) do seu textbox.

    Ex: <asp:TextBox runat="server" ID="TextBox1" />

    2. como não possuo o seu código, não sei se efeito final que você quer seja realmente este, porém ele funciona sem problema sobre TextChanged. Caso queira realizar um teste coloque esta solução no Page_load da sua aplicação.

    Abs.


    Leandro de Agostini MCTS - Web Application, Framework 4

    sexta-feira, 26 de agosto de 2016 17:38
  • http://imgur.com/a/GxIHE

    Vai facilitar bastante. Quero que fique transparente por causa da minha Splash, fiz toda ela no PS, as configurações padrões do VS são horríveis, mas o TexBox não aceita o Transparent pela Interface. 

    • Editado Hcn20 sexta-feira, 26 de agosto de 2016 17:47
    sexta-feira, 26 de agosto de 2016 17:46
  • OLá,

    1. substitua o TxtTeste pelo nome (ID) do seu textbox.

    Ex: <asp:TextBox runat="server" ID="TextBox1" />

    2. como não possuo o seu código, não sei se efeito final que você quer seja realmente este, porém ele funciona sem problema sobre TextChanged. Caso queira realizar um teste coloque esta solução no Page_load da sua aplicação.

    Abs.


    Leandro de Agostini MCTS - Web Application, Framework 4

    sexta-feira, 26 de agosto de 2016 19:06
  • http://imgur.com/a/XB0Nb < Imagem com o código aplicado. 

    Te mandei a imagem com o código, amigo. 

    • Editado Hcn20 sexta-feira, 26 de agosto de 2016 19:11
    sexta-feira, 26 de agosto de 2016 19:08
  • Olá,

    pela imagem pude verificar que você está desenvolvendo para windows application, portanto tente este código:

    this.TextBox1.BackColor = Color.AliceBlue;
    this.TransparencyKey = Color.AliceBlue;

    Abs.


    Leandro de Agostini MCTS - Web Application, Framework 4

    sexta-feira, 26 de agosto de 2016 19:36
  • Ele ficou transparente, mas quero que fique transparente e que apareça a Splash, não que fique totalmente transparente, aparecendo Desktop e etc. 
    sexta-feira, 26 de agosto de 2016 20:11
  • Olá,

    não entendi, quando aplicamos a transparência ao controle, ele irá demonstrar o que exite por de trás dele.

    Me mande a imagem do que realmente você gostaria que acontecesse para que possamos avaliar.

    Abs.


    Leandro de Agostini MCTS - Web Application, Framework 4

    sexta-feira, 26 de agosto de 2016 20:22
  • http://imgur.com/a/LcZKi

    Quero o TextBox seja transparente, não todo o Form. Quero que apareça a Splash. 

    sexta-feira, 26 de agosto de 2016 20:31
  • Saberia me dizer?
    sábado, 27 de agosto de 2016 11:30
  • Olá,

    acredito que você queira que a cor de fundo do textbox seja igual ao fundo do aplicativo, causando assim um efeito de "transparência". Tente este código e substitua o a cor pela mesma cor que você usa no seu formulário.

    this.textBox1.BackColor = ColorTranslator.FromHtml("#FFDFD991");
    this.textBox1.BorderStyle = BorderStyle.None;

    Abs.


    Leandro de Agostini MCTS - Web Application, Framework 4

    sábado, 27 de agosto de 2016 15:19
  • Mas no caso se eu tiver uma imagem, não funcionaria, pois teria varias cores na minha Splash. Pelo jeito não tem como objter total transparência mesmo. 
    sábado, 27 de agosto de 2016 16:20
  • E outra, por que só funciona digitando? Gostaria que ao abrir o meu Form, a cor já se estabelecesse. 
    sábado, 27 de agosto de 2016 16:23
  • Olá,

    para que o componente textbox esteja na cor que você escolheu ao iniciar, remova o código do evento Text Changed e coloque-o logo abaixo o InitializeComponent();

    public Form1()
     {
           InitializeComponent();
    this.textBox1.BackColor = ColorTranslator.FromHtml("#FFDFD991");
    this.textBox1.BorderStyle = BorderStyle.None;
    }

     No caso de imagens acredito que não irá funcionar mesmo.

    Abs.


    Leandro de Agostini MCTS - Web Application, Framework 4

    sábado, 27 de agosto de 2016 16:56
  • Bom dia,

    Devido a falta de resposta do usuário

    essa thread está sendo fechada.

    Se o problema ainda estiver ocorrendo,

    favor abrir uma nova thread.

    Atenciosamente,


    Robson William Silva

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    terça-feira, 30 de agosto de 2016 12:25
    Moderador