Jump to content
Sign in to follow this  
thoga31

Durante Load, Panel não é "pintado"

Recommended Posts

thoga31

Olá pessoal.

Uma questão decerto parva a caminho.

Bem, eu estou a fazer umas experiências com a classe Graphics do espaço de nomes System. Contudo, ao fazer o Load da Form, isto não pinta nada.

Public Class Janela
    Private Sub PintarBase(ByVal g As Graphics, ByRef Objecto As Panel)
        g = Objecto.CreateGraphics()
        With g
            Using Caneta As New Pen(Color.Black, 2)
                .DrawLine(Caneta, 200, 0, 200, 300)
                .DrawLine(Caneta, 0, 150, 400, 150)
            End Using
        End With
    End Sub

    Private Sub Janela_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim g As Graphics
        PintarBase(g, Area_Panel)  'Area_Panel é um Panel.
    End Sub
End Class

Mal comecei a criar o projecto, e já começa a dar barraca :P

Eu passo os argumentos todos, e faço o CreateGraphics para o Objecto, neste caso o Area_Panel...

O que estará mal neste código? Segundo todas as minhas pesquisas, não há nada de errado. :dontgetit:

Cumpz.


P.S. - fica a imagem:

area_panel.jpg


Knowledge is free!

Share this post


Link to post
Share on other sites
Caça

Usa o evento Paint do form

EDIT: Se não quiseres fazer tudo a mão, tens as ferramentas do VB Power Packs


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
thoga31

Usa o evento Paint do form

Funciona no paint, e em qualquer outra Sub que eu faça, mas não funciona na Load. Tem piada. :D

EDIT: Se não quiseres fazer tudo a mão, tens as ferramentas do VB Power Packs

Atchim... Santinho! :P

Explica lá isto um nadinha melhor, s.f.f.

Obrigado, Caça. Como disse, pergunta parva... :D


Knowledge is free!

Share this post


Link to post
Share on other sites
thoga31

Procura no final da ToolBox

lol, sabia que existia a opção de desenhar as linhas dessa forma, mas nunca mais associei o Power Pack a essa parte da ToolBox quando falaste dela. :P


Knowledge is free!

Share this post


Link to post
Share on other sites
bioshock

Só a titulo de pontualidade, podes sistematizar essa tua função:

Private Sub PintarBase(ByRef Objecto As Panel)
        Dim g As Graphics
        g = Objecto.CreateGraphics()
        With g
            Using Caneta As New Pen(Color.Black, 2)
                .DrawLine(Caneta, 200, 0, 200, 300)
                .DrawLine(Caneta, 0, 150, 400, 150)
            End Using
        End With
    End Sub

Share this post


Link to post
Share on other sites
thoga31

Só a titulo de pontualidade, podes sistematizar essa tua função:

Thanks! Fica mais simples, sim. :P


Knowledge is free!

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
Sign in to follow this  

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