Jump to content

Objecto por cima de outro?


Rodrigo Graça
 Share

Recommended Posts

Bom dia a todos.

Estou a desenvolver um jogo em que consiste em preencher varias textbox e acertar nas palavras. Para quem ainda estuda é como nos testes em que se tem uma frase com traços e temos de completar a frase com palavras nos traços.

Só que no visual basic comecei por tentar meter uma line e uma textbox na frente mas com fundo transparente para que ficasse o efeito de estar a escrever numa linha. Mas não deu para por fundo transparente então meti a cor do fundo da textbox igual à cor do fundo do form e ficou melhor mas acontece que a line fica atrás da textbox e quando executo a line não se vê e eu gostaria de saber como eu meto o objecto line por cima da textbox

Se alguém tiver outra ideia para fazer o efeito referido acima de escrever numa linha (como nos testes) me digam possíveis propostas.

Sem outro assunto os meus cordiais cumprimentos, Rodrigo Graça.

Link to comment
Share on other sites

O mais simples é desenhares a linha directamente na textbox:

Dim g As Graphics = TextBox1.CreateGraphics
g.DrawLine(Pens.Black, 0, TextBox1.Height - 5, TextBox1.Width, TextBox1.Height - 5)

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"

Link to comment
Share on other sites

O sucesso desse método depende muito do sítio onde o estás a disparar.

Se o colocares, sei lá, no textchanged, já o vais ver a partir do momento em que alteres o texto

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"

Link to comment
Share on other sites

Coloquei no load para que quando inicia-se o programa a linha aparece-se. Mas dizes que se mudar o texto ela desaparece? Eu quero que a linha fique sempre por cima.

É que é sempre a mesma ..... umas linguagens dão para uma coisa e outras não! Se utilizares html mais concretamente css á um apropriedade que é o z-index que mesmo que tenhas 100milhoes de coisas se mandares alguma coisa para por exemplo z-index: 2000; essa coisa vai aparecer na frente de tudo! Era isso que queria fazer com a linha....

Link to comment
Share on other sites

É que é sempre a mesma ..... umas linguagens dão para uma coisa e outras não! Se utilizares html mais concretamente css á um apropriedade que é o z-index que mesmo que tenhas 100milhoes de coisas se mandares alguma coisa para por exemplo z-index: 2000; essa coisa vai aparecer na frente de tudo! Era isso que queria fazer com a linha....

É como comparar a noite com o dia 👍

Curioso. A textBox não dispara o evento Paint, e se o forçarmos, o texto não é auto-redesenhado.

Enquanto não encontro um workaround para isto (até porque agora não posso), podes utilizar o evento TextChanged ou o Click, ou ambos para pintar a linha, que já safa qualquer coisa.

Alternativamente podes criar uma classe, herdar da textbox e colocar o código num override ao evento.

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"

Link to comment
Share on other sites

Já aprendei mais alguma coisa XD

Mas não serviu porque aparece uma linha mas ao escrever ela desaparece. E o efeito que quero a linha tem de estar sempre visível para fazer o tal efeito de se estar a escrever na linha e não numa textbox.

Bioshock se este "http://stuffpinho.wordpress.com/" é o teu blog parabéns gostei dos conteúdos.

Link to comment
Share on other sites

Bem..mas sabes que isto é uma "manha"..however, o que tens a fazer, é inserir uma Textbox no Form, clicar do lado direito e depois em "Send to back". Após isto, coloca um panel no Form, define o size-height do mesmo para 1 e define nas propriedades do panel o borderstyle como FixedSingle.

Link to comment
Share on other sites

Obrigado a todos os que cooperaram consegui o que queria. Fiz como o nosso amigo Bioshock explica acima, embora não seja muito "programador friendly" XD. Não fecharei já o tópico porque sei que me vão surgir mais duvidas. (Surgem sempre) E porque no fim gostaria de postar aqui o link para baixarem o projecto final do que estou a desenvolver.

Link to comment
Share on other sites

Ok. Se eu abri-se um tópico por cada duvida dentro desta cabeça só eu enchia o fórum.... sem exagerar.

Esta noite fico até tarde e já devo acabar o projecto depois coloco onde disseste. Parece-me um lugar interessante visto que ando a juntar os meu projectos. Para quando precisar de ideias ou ver como fiz alguma coisa. Depois leio por lá alguns projectos.

Link to comment
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
 Share

×
×
  • 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.