Forum » Programiranje » [VB 2005 express] kako risati v picturebox
[VB 2005 express] kako risati v picturebox
gzibret ::
Pozdrav!
Spet se igram z Visual basicom express edition. Tokrat bi rad naredil uro, vendar se mi je zataknilo. Program vsebuje en timer, ki vsako sekundo odčita sistemski čas in ga izpiše v enem okenčku (textbox). To dela BP. Prav tako program nariše uro v posebnem oknu (picturebox1), kar tudi dela bp.
Problem pa nastane, ko hočem vsako sekundo izrisati kazalce. Tukaj pa se mi zadeva zbuni, češ, da "Graphics is not member of system.eventargs". Probal sem že z definicijo spremenljivke gr, samo tudi na takšen način ne gre, saj mi ob zagonu programa javi "Object reference not set to an instance of an object."
Zanima me, kako bi narisal in kasneje izbrisal vsaj eno malo mini črtico vsako sekundo v picturebox1? Vsakršna pomoč zelo dobrodošla, sicer pa vas bom še verjetno še kdaj malo nagnjavil
Koda je trenutno takšna (z uporabo spremenljivke gr).
Spet se igram z Visual basicom express edition. Tokrat bi rad naredil uro, vendar se mi je zataknilo. Program vsebuje en timer, ki vsako sekundo odčita sistemski čas in ga izpiše v enem okenčku (textbox). To dela BP. Prav tako program nariše uro v posebnem oknu (picturebox1), kar tudi dela bp.
Problem pa nastane, ko hočem vsako sekundo izrisati kazalce. Tukaj pa se mi zadeva zbuni, češ, da "Graphics is not member of system.eventargs". Probal sem že z definicijo spremenljivke gr, samo tudi na takšen način ne gre, saj mi ob zagonu programa javi "Object reference not set to an instance of an object."
Zanima me, kako bi narisal in kasneje izbrisal vsaj eno malo mini črtico vsako sekundo v picturebox1? Vsakršna pomoč zelo dobrodošla, sicer pa vas bom še verjetno še kdaj malo nagnjavil
Koda je trenutno takšna (z uporabo spremenljivke gr).
Public Class Form1 Dim ura As Integer Dim minuta As Integer Dim sekunda As Integer Dim gr As System.Windows.Forms.PaintEventArgs Dim blackpen As New Pen(Color.Black, 3) Dim ozki As New Pen(Color.Black, 2) Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End Sub Private Sub ExitToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ExitToolStripMenuItem.Click Application.Exit() End Sub Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick TextBox1.Text = My.Computer.Clock.LocalTime.ToLongTimeString ura = My.Computer.Clock.LocalTime.Hour minuta = My.Computer.Clock.LocalTime.Minute sekunda = My.Computer.Clock.LocalTime.Second gr.Graphics.DrawLine(blackpen, 325, 40, 325, 60) ********zalomi se tukajle End Sub Private Sub PictureBox1_Paint1(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint e.Graphics.DrawEllipse(blackpen, 50, 50, 550, 550) e.Graphics.DrawLine(blackpen, 325, 40, 325, 60) e.Graphics.DrawLine(blackpen, 40, 325, 60, 325) e.Graphics.DrawLine(blackpen, 325, 590, 325, 610) e.Graphics.DrawLine(blackpen, 590, 325, 610, 325) e.Graphics.DrawEllipse(blackpen, 323, 323, 4, 4) Dim aFont As New System.Drawing.Font("Arial", 14, FontStyle.Bold) e.Graphics.DrawString("12", aFont, Brushes.Black, 312, 15) End Sub End Class
Vse je za neki dobr!
- spremenilo: gzibret ()
ježek ::
V timerju kliči PictureBox1.Refresh(); s čimer se bo ponovno zgodil dogodek paint. (uro potem popravljaš v dogodku paint ...)
LP
LP
gzibret ::
Bom probal in poročam! Hvala.
Sem pa zadevo že rešil z enim snippetom, ki sem ga vstavil v proceduro timer_tick (creating windows forms and applications - drawing), ki sem ga malo priredil po svoje:
Sem pa zadevo že rešil z enim snippetom, ki sem ga vstavil v proceduro timer_tick (creating windows forms and applications - drawing), ki sem ga malo priredil po svoje:
Using redPen As New Pen(Color.Red), _ formGraphics As Graphics = Me.PictureBox1.CreateGraphics() formGraphics.DrawLine(redPen, 325, 325, getxsek(sekunda), getysek(sekunda)) End Using
Vse je za neki dobr!
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | vb.net: dynamic textboxOddelek: Programiranje | 1175 (1065) | saule |
» | Visual Studio - koda za prikaz OS?Oddelek: Programiranje | 1076 (843) | detroit |
» | [VB] Komunikacija s serijskimi napravamiOddelek: Programiranje | 2297 (1571) | mNeRo |
» | vb.net barchartOddelek: Programiranje | 1023 (945) | rode |
» | VB.net MDI in formi splošnoOddelek: Programiranje | 1609 (1552) | strel |