Jump to content
dipacheco

botao invisivel

Recommended Posts

dipacheco

boas pessoal...

ha maneira d criar botoes em modo visible = false mas q estejam activos? ou seja, eu n queria o botao se visse porque vai estar num local de uma imagem... em que o q eu queria era q ao carregar nesse local da imagem ele fizesse algo, dái nao querer q se veja o botao...

sera q m fiz entender?

Share this post


Link to post
Share on other sites
Andrepereira9

e como metes a imagem?? não é com uma picturebox?

Se for, porque é que não metes o que queres fazer, no evento PictureBox1.Click?


A informática chegou para resolver problemas que antes não existiam

Quem ri por último é porque está conectado a 52 Kbs.

Share this post


Link to post
Share on other sites
Rechousa

Olá,

Não sou especialista em VB.Net, mas dá-me ideia que podes fazer isso, usando a propriedade Image do button.

Assim:

' Assign an image to the button.
Button1.Image = Image.FromFile("C:\Images\MyImage.jpg")
' Align the image and text on the button.  
Button1.ImageAlign = ContentAlignment.MiddleRight
Button1.TextAlign = ContentAlignment.MiddleLeft
' Give the button a flat appearance.
Button1.FlatStyle = FlatStyle.Flat


Pedro Martins

Sharing is Knowledge!

http://www.linkedin.com/in/rechousa

Share this post


Link to post
Share on other sites
ribeiro55

O handler do click da imagem pode perfeitamente correr as mesmas instruções que tens no handler do click do botão, como o Andrepereira9 mencionou.

De qualquer das formas, se o botão fosse necessário e se precisasses de lhe "carregar" sem lhe carregar, podes simplesmente chamar o sub do handler do button, e passar-lhe argumentos vazios caso não precises deles.

Tipicamente, com o código auto-gerado:

Button1_Click(Nothing,Nothing)

O Sub que é gerado quando dás 2 cliques num botão não é para o seu usufruto exclusivo. É apenas um sub que também acontece ser handler do evento Click do button.


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Share this post


Link to post
Share on other sites
chicheater

Podes Criar um picturebox sem imagem com fundo transparente e depois é só clickar nela    :)

espero ter resolvido o problema


When a person die a ghost will born

Share this post


Link to post
Share on other sites
dipacheco

nao... ninguem resolveu o problema! ehehhe mas obrigado pelas tentativas! :) eu expliquei-me mal...

eu preciso dos botoes porque sao varios sitios na mesma imagem... imaginem uma imagem de um predio... e eu quero poder carregar em todas as janelas... sem se ver botoes!...

hoje surgiu-me outro problema... nao posso usar um botao como accept button se ele estiver com visible = false?

Share this post


Link to post
Share on other sites
ribeiro55

O que eu te respondi resolve-te o problema das "janelas".

Continuas a não perceber o que é um sub e um handler.

Só precisas de mapear coordenadas da imagem aos respectivos subs.


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Share this post


Link to post
Share on other sites
dipacheco

ok.. vou tentar perceber isso mlhr! :)

e em relaçao a um accept button not visible... é impossivel?

Share this post


Link to post
Share on other sites
ribeiro55

A mesma história.

Basta controlares o KeyPress do sítio onde estás a querer disparar um "accept", e chamar o respectivo sub, exactamente da mesma forma que te indiquei.

EDIT: A solução do chicheater só funcionava se o tal "prédio" fosse imagem de fundo do container. Não podes fazer sobreposição de dois containers e esperar que o de topo fique transparente.


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Share this post


Link to post
Share on other sites
dipacheco

Tipicamente, com o código auto-gerado:

Button1_Click(Nothing,Nothing)

O Nothing nao é aceite ... ???

Share this post


Link to post
Share on other sites
dipacheco

nao consigo tirar isto "ByVal sender As System.Object, ByVal e As System.EventArgs" e colocar "Nothing,nothing" porque ele n m reconhece o nothing...

Share this post


Link to post
Share on other sites
ribeiro55

Não é na assinatura.

É na chamada.

Onde quiseres "simular" o clique de um botão, escreve

NomeDoBotao_Click(Nothing,Nothing)

Onde "NomeDoBotao_Click" é o nome da sub handler do click.


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Share this post


Link to post
Share on other sites
dipacheco

simular? mas eu n quero provocar um clique... apenas quero fazer uso do accept button sem q o botao esteja visivel... basicamente o q quero é q a pessoa escreva o codigo e, como n tem botoes, carrega no enter!

Share this post


Link to post
Share on other sites
ribeiro55

Eu percebi.

Penso que o "accept button" tire partido do método "perform click" que é o que faz sentido, e sendo assim não podes fazê-lo quando o botão está invisível, a menos que faças o que eu já te disse, e por a terceira vez: chama tu o handler do click sem argumentos (desde que não precises deles, que é o mais certo)


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Share this post


Link to post
Share on other sites
dipacheco

eu sei q sou mt leigo no q toca a vb mas hoje estou-m a sentir msm mal... loooooooool

imagina um ecran inicial em q escreves na caixa de texto um codigo e dás enter... ao dar enter ele deveria abrir um outro form. se fizer pelo metodo normal, com accept button visivel funciona, com accept button invisivel nao funciona.

se colocar a linha "Button1_Click(Nothing, Nothing)" no load do meu programa ele faz enter sem m deixar sequer escrever q é coisa q n quero. ainda nao consegui perceber onde devo colocar essa linha para q ele funcione...

Share this post


Link to post
Share on other sites
ribeiro55

Activa a propriedade KeyPreview do Form se quiseres usar o keypress do form, usa o keypress do que te apetecer pois funciona em qualquer um deles.

    Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress
        If e.KeyChar = Chr(13) Then e.Handled = True : Button1_Click(Nothing, Nothing)
    End Sub


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Share this post


Link to post
Share on other sites
dipacheco

o meu codigo é este...

Public Class Login
    Private Sub Login_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress
        If e.KeyChar = Chr(13) Then e.Handled = True : Button1_Click(Nothing, Nothing)
    End Sub

    Private Sub Login_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.CenterToScreen()
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Password.Show()
    End Sub
End Class

devia abrir o formulario password... mas nao abre se estiver visible = false...

Share this post


Link to post
Share on other sites
Caça

Eu que eu costumo fazer quando uso AceptButtons e não quero que estejam visíveis, é colocalos para fora da parte visível do formulário e alterando também os Anchors de modo a que nunca fique visível mesmo quando o formulário muda de dimensões.


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
ribeiro55

Dá lá "2 cliques" no botão que fica invisível e ve a que sub vai parar.

De certeza que é ao Button1_Click ? É esse sub que faz handle ao Click do button que queres?

Tens KeyPreview = True nas propriedades do form?


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.