none
Textbox fundo transparente ou Imagem de fundo

    Question

  • 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
    Friday, January 29, 2010 12:57 AM

All replies

  • 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.
    Friday, January 29, 2010 12:02 PM
  • 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
    Friday, January 29, 2010 6:12 PM
  • 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.
    Saturday, January 30, 2010 2:55 AM
  • Se não for abusar muito tem como colocar um exemplo de código para inserir a imagem de fundo no evento onpaint.


    Grata.

    Saturday, January 30, 2010 11:06 PM
  • <

     

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

     

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

    Tuesday, June 29, 2010 5:28 PM
  • Receio que não seja tão simples. Mas tem um exemplo no codeproject:

    http://www.codeproject.com/KB/edit/alphablendtextbox.aspx
    Tuesday, June 29, 2010 7:56 PM
  • no meu caso resolvi assim.
    <asp:TextBox ID="txtNome" runat="server" Width="275px" Height="18" BorderWidth="0px" BackColor="Transparent"></asp:TextBox>
    
    Tuesday, June 29, 2010 8:20 PM
  • 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?
    Friday, July 02, 2010 1:01 PM
  • 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
    Wednesday, September 22, 2010 3:52 AM