none
Textbox fundo transparente ou Imagem de fundo RRS feed

  • Pergunta

  • Boa noite,

    Estou desenvolvendo uma aplicação windows forms, aonde criei todo o fundo do form com uma imagem, e agora quero colocar as caixas de texto sobre as imagens para o usuário imputar os dados, só que estou com um problema percebi que não posso mudar a propriedade do textbox, para transparente.

    Existe alguma forma de deixar o textbox transparente ou inserir nele uma imagem de fundo?


    Estou usando vb.net 2005
    sexta-feira, 29 de janeiro de 2010 00:57

Todas as Respostas

  • Para inserir uma imagem, vc deve tratar o evento paint do textbox, e desenhar a sua imagem no fundo dele.
    Agora para deixar transparente, não sei se é possivel.

    Se sua pergunta foi respondida por favor marque a resposta como certa.
    sexta-feira, 29 de janeiro de 2010 12:02
  • Evento paint, procurei nos eventos do textbox e não apareceu nenhum do tipo. Colocar uma imagem de fundo do textbox, já vai adiantar e muito
    sexta-feira, 29 de janeiro de 2010 18:12
  • Então crie uma classe e herde ela de textbox.
    Após herdar ela sobrescreva o método paint de sua classe, para desenhar a imagem.
    Após compilar a primeira vez, seu novo textbox aparecera na toolbox.

    Para sobrescrever:

    protected overrides sub OnPaint()
    ou
    protected overrides void OnPaint()

    Se sua pergunta foi respondida por favor marque a resposta como certa.
    sábado, 30 de janeiro de 2010 02:55
  • Se não for abusar muito tem como colocar um exemplo de código para inserir a imagem de fundo no evento onpaint.


    Grata.

    sábado, 30 de janeiro de 2010 23:06
  • <

     

    asp:TextBox ID="txtNome" runat="server" Width="275px" Height="18"

     

    BorderWidth="0px" BackColor="Transparent"></asp:TextBox>

    terça-feira, 29 de junho de 2010 17:28
  • Receio que não seja tão simples. Mas tem um exemplo no codeproject:

    http://www.codeproject.com/KB/edit/alphablendtextbox.aspx
    terça-feira, 29 de junho de 2010 19:56
  • no meu caso resolvi assim.
    <asp:TextBox ID="txtNome" runat="server" Width="275px" Height="18" BorderWidth="0px" BackColor="Transparent"></asp:TextBox>
    
    terça-feira, 29 de junho de 2010 20:20
  • O forum eh windows forms.

    Vc deve herdar o textbox, e sobrescrever o metodo paint dele.

    E setar uma propriedade q permite q o metodo paint seja sobrescrito.

    Apos vc usa a variavel e:  e.Graphics.Draw()


    Quem sabe um dia os DataSets se extinguirão?
    sexta-feira, 2 de julho de 2010 13:01
  • Marilia, você pode fazer extendendo o controle textbox definindo o setstyle no construtor igual a transparency ou usando API da seguinte forma:
    Imports System.Runtime.InteropServices

    Public Class Form1

        <DllImport("user32.dll")> _
        Private Shared Function CreateCaret(ByVal hWnd As IntPtr, ByVal hBitmap As IntPtr, ByVal nWidth As Integer, ByVal nHeight As Integer) As Boolean
        End Function
        <DllImport("user32.dll")> _
        Private Shared Function ShowCaret(ByVal hWnd As IntPtr) As Boolean
        End Function

        Private Sub Form1_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown
            CreateCaret(TextBox1.Handle, IntPtr.Zero, 8, TextBox1.Height)
            ShowCaret(TextBox1.Handle)
        End Sub
    End Class
    Bruno Ferreira de Souza
    Analista Desenvolvedor .NET
    MCP - Windows Form
    quarta-feira, 22 de setembro de 2010 03:52