Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB.NET: [VB] Kuvan liikutttaminen

Sivun loppuun

parsakaali [14.04.2011 20:38:43]

#

Eli olen tutustunut visual basic ohjelmaan vasta n.6kk eli aika alkajainen.
Koulussamme olen ottanu valinnaiseksi ohjelmoinnin ja lopputyötä ollaan tekemässä , olen tekemässä pienimuotoista peliä jossa animaatiota voi liikuttaa näppiksellä ja se ei tunnu onnistuvan , eli jos joku voisi auttaa minua tämän kanssa olisin otettu
t. Parsakaali :)

Jokotai [14.04.2011 21:01:46]

#

Kolme teetä sekä , jotain muutakin :)
Tuo on aika epämääräinen kuvailu. Ei kai tämä ole taas niitä "itQ winQ parQ koodatkaa mulle peli"-kategorian pyyntöjä? Voisit kyllä kertoa jutusta enemmän, tai mieluiten esittäisit ongelmasi.

parsakaali [14.04.2011 21:18:31]

#

siis haluaisin tietää koodin jolla voin liikuttaa pictureboxia näppäimistöllä en enempää :D olen etsinyt kaikialta mutta mikään ei ole toiminut ja suomalaisten kanssa tätä olisi helpompi setpiä kun ymmärtää enemmön :D

groovyb [14.04.2011 21:36:13]

#

Event näppäinpainalluksille, itse siirto picturebox.locationilla

Metabolix [14.04.2011 21:46:33]

#

parsakaali kirjoitti:

peliä jossa animaatiota voi liikuttaa näppiksellä ja se ei tunnu onnistuvan

Tästä väärin pilkutetusta kuvauksesta tuli väkisinkin mieleen jokin tämän tapainen peli.

Mikä nyt on ongelmana? Liikuttaminen, joka jo neuvottiin, vai näppäimen lukeminen, jonka pitäisi VB:ssä olla helppoakin helpompaa (valitset vain valikosta oikean eventin)?

parsakaali [14.04.2011 22:02:06]

#

huoh.... eikö kukaan todellakaan voi auttaa minua .. yhden koodin vain tarvis ja sitä ei näytä tulevan...

Mizou [14.04.2011 23:18:02]

#

Hmm... Nyt olet lipsumassa/lipsunut linjalle joka vähentää ennestään muiden auttamishalukkuutta. Valmista koodia(peliä) et luultavasti saa, koska se on koulutyö ja nehän yleensä tehdään itse, mutta jos postaat tänne omasta koodistasi tuon ongelmallisen kohdan (ilmeisesti kuvan liikutus) ja siihen liittyvät osat, voi joku ehkä auttaa paremmin.

Jokotai [14.04.2011 23:18:40]

#

Et taida ymmärtää, että kysymyksesi on puutteellinen. Mikäli osaat keyeventin, timerin ja pictureboxin tulostuksen, niin sen jälkeenkin on vielä asioita kuten kiihtyvyys, hidastuvuus yms. Huokailu ei muuten taida auttaa ihan vaan vinkiksi vastaisuuteen.

Antti Laaksonen [15.04.2011 00:02:34]

#

Mikä VB:n versio on kyseessä?

neau33 [15.04.2011 11:44:02]

#

Moi parsakaali!

Mikäli kyseessä on VB6 niin imppaa täältä VB6-esimerkkiprojekti.

neau33 [15.04.2011 14:28:44]

#

Moi taas parsakaali!

Mikäli kyseessä on VB.NET niin tässä ohjeet SharpDevelop-ympäristöön...

1. Imppaa täältä zip-paketti, pura johonkin kansioon ja siirrä tiedostot QProGIF.ocx ja KeyFile.snk C:\WINDOWS\system32 hakemistoon.

2. Avaa Windowsin komentokehote, kirjoita komentokehotteeseen CD \WINDOWS\system32 ja paina Enter-näppäintä.

3. Kirjoita komentokehotteeseen regsvr32 QProGIF.ocx ja paina Enter-näppäintä.

4. Kirjoita komentokehotteeseen aximp QProGIF.ocx /out:AxQProGIF.dll /keyfile:KeyFile.snk ja paina Enter-näppäintä.

5. Sulje komentokehoteikkuna, Avaa SharpDevelop ja luo uusi Windows forms-projekti (esim. VBNET_AnimGifTest).

6. Valitse MainForm.vb, siirry Design-tilaan, aktivoi Toolbox, klikkaa boxissa hiren oikealla, valitse Configure Sidebar, aktivoi Categoria CustomControls, klikkaa Add Components -painiketta, valitse Custom välilehti, klikkaa File Name ruudun viereistä piniketta, siirry System32 hakemistoon, etsi tiedoston AxQProGIF.dll kuvake, tuplaklikkaa kuvaketta, klikkaa Show Components -nappia, klikkaa OK ja OK.

7. Raahaa AxQProGIF-kontrolli Toolboxin Custom Componets -välilehdeltä formille, iske formille timer-kontrolli (timer1) ja käännä projekti.

8. Siirrä zip-paketista purkamasi pilgrim_with_turkey.gif tiedosto projektisi ..\bin kansioon.

9. Aktivoi axQProGIF1 -kontrolli ja kirjoita Properties-valikon Misc > Filename -ominaisuuden arvoksi axQProGIF1.gif...

Imports System.Windows.Forms

Public Partial Class MainForm

   Private Declare Function GetAsyncKeyState Lib _
   "user32.dll" (ByVal vKey As Integer) As Integer
   Private Declare Function GetForegroundWindow Lib "user32" () As IntPtr

   Public Sub New()
      Me.InitializeComponent()
   End Sub

   Sub MainForm_Load(sender As Object, e As EventArgs)
      timer1.Interval = 10
      timer1.Enabled = True
   End Sub

   Sub MainForm_FormClosing(sender As Object, e As FormClosingEventArgs)
      timer1.Enabled = False
   End Sub

   Sub Timer1_Tick(sender As Object, e As EventArgs)
      TsekkaaNuolinapit
   End Sub

   Private Sub TsekkaaNuolinapit()

      Dim nappi As Integer, suunta As Integer

      If Me.Visible And Me.WindowState <> _
      FormWindowstate.Minimized _
      And GetForegroundWindow() = Me.Handle Then
         nappi = GetAsyncKeyState(Keys.Up)
         If nappi = -32767 Then suunta = 1
         nappi = GetAsyncKeyState(Keys.Down)
         If nappi = -32767 Then suunta = 2
         nappi = GetAsyncKeyState(Keys.Left)
         If nappi = -32767 Then suunta = 3
         nappi = GetAsyncKeyState(Keys.Right)
         If nappi = -32767 Then suunta = 4
      End If

      Select Case suunta
         Case 1
            If axQProGIF1.Top >= 10 Then _
            axQProGIF1.Top = axQProGIF1.Top - 10
         Case 2
            If axQProGIF1.Top + axQProGIF1.Height < _
            Me.ClientRectangle.Height Then _
            axQProGIF1.Top = axQProGIF1.Top + 10
         Case 3
            If axQProGIF1.Left >= 10 Then _
            axQProGIF1.Left = axQProGIF1.Left - 10
         Case 4
            If axQProGIF1.Left <= Me.Width - _
            axQProGIF1.Width - 10 Then _
            axQProGIF1.Left = axQProGIF1.Left + 10
      End Select

   End Sub

End Class

parsakaali [15.04.2011 14:32:23]

#

Koulu projektissa saa käyttää muisten apuja ja kyse on vain yhesta koodista uskoakseni , ja en käytä VB.NET kai :D en edes tiedä mikä tuo on käytän visual basic 2010 ohjelmaa ja jos joku voisi kädestä pitäen niin msn : snow.man@windowslive.com voi lisätä niin voi puhua tarkemmin :)

groovyb [15.04.2011 15:24:29]

#

Ei tota neaa enempää voi auttaa. Jos 6kk olet koodannut niin pitäisi pärjätä sorsilla ja askelohjeilla. Ja kyllä,käytät vb.net:iä.

parsakaali [15.04.2011 18:37:19]

#

okke :D mut olen siis koodaillu "koulussa" ja jos tutustuisit meiän ohjelmointi opeen niin kyll yllätyt :D tiedän ohjelmoinnista enemmänkö se ... eli opetus on aika suppeaa .... satunnaisluku generaattoreit käytiin vaan 4h ja sitä rataa

Metabolix [15.04.2011 19:01:47]

#

Älä pilkkaa opettajasi taitoja, jos et osaa itse edes lukea näppäinsyötettä ja liikuttaa laatikkoa ruudulla. Opettajasi luultavasti osaisi vähintäänkin selvittää nämä asiat itse, toisin kuin sinä ilmeisesti.

Yleisesti ottaen kaikenlaisten lopputöiden pitäisi olla oman tason mukaisia. Jos kysyt täältä "vähän neuvoa", saatat saada kurssista arvosanan, jota et ole itse ansainnut. Jos kurssillanne ei ole käsitelty tällaisia asioita, luultavasti lopputyönkään ei kuulu sisältää niitä. Ja kääntäen: jos kurssillanne on käsitelty nämä asiat, sinun pitää osata ne itse tai mennä kysymään opettajalta.

groovyb [15.04.2011 20:51:05]

#

ensinnäkin, jos en usko että päättötyöksi kelpaa sellainen softa jossa liikutetaan laatikkoa.

saatika että et olisi tehnyt sitä itse jos copy pasteet.

netti on ohjeita täysi, suosittelen myös esim. Microsoftin step by step kirjoja aiheesta (löytyy myös suomeksi, ainakin vb:stä on aiemmin löytynyt)

kyseisissä kirjoissa lähdetään täysin alkeista, ja kun luet läpi ja teet harjoitukset, olet jo paljon viisaampi eikä perusasioista tarvitse lähteä liikkeelle.

Minulla ei ole mitään vastaan auttamisessa, siksi tänne kirjoittelenkin.
Minulla ei vain ole tarpeeksi aikaa lähteä perusteita opettamaan. se vaatii kuitenkin paljon aikaa ja paljon harjoitustöitä.

parsakaali [15.04.2011 22:59:32]

#

Ohjelmointi numeroni on 9 ja opettaja on täys pölvästi ... atk-opettaja joka on käyttänyt yhtä paljon visual basicciä kuin minäkin , ja olen tehnyt picturboxeista animaation jota olisi tarkoitusl liikutella ..

groovyb [15.04.2011 23:54:57]

#

No, tietenkään kurssin laajuutta tietämättä, voisin uskoa että jos sivuaineena lukee ohjelmointia, kurssia vetävä opettaja kokee pienen pettymyksen jos päättötyö on valmiin kontrollin liikuttelua formilla. siinä on joku 10 riviä koodia.

kohta 1, luodaan eventti näppäimen painallukselle
kohta 2, siirtojen käsittely eventissä,konditionaalit eri näppäimille (kasvavat ja pienenevät x ja y koordinaatit, siirto uutena pointtina picturebox.locationiin)

done.

tää on oikeasti ihan peruskauraa. etsi googlella .net vb keyevent, ja .net vb picturebox.location. mahdollisesti while loopin käsittely jos haluat että kontrolli siirtyy niinkauan kuin nappia painat.

jos haluat monimutkaisempaa kuvan liikuttelua, vaikka SDL tutoriaaleja kuvan pyörittämisestä kolmessa ulottuvuudessa.

neau33 [16.04.2011 00:12:36]

#

Moi taas parsakaali!

elikäs jos tarkoituksena on siirrellä pictureboxia lomakkeella etkä pääse oheisen esimerkin avulla jyvälle niin suosittelen pikaista alan vaihtoa...

Public Class Form1

   Private MyPictureBox As PictureBox = Nothing

   Private Sub Form1_Load(ByVal sender As Object, _
   ByVal e As System.EventArgs) Handles Me.Load

      Me.KeyPreview = True

      'tässä testissä ei tarvitse raahata
      'lomakkeelle yhtikäs mitään mitään!
      MyPictureBox = New PictureBox
      MyPictureBox.Name = "MyPictureBox"
      MyPictureBox.Size = New Size(100, 120)
      MyPictureBox.BackColor = Color.Black
      Me.Controls.Add(MyPictureBox)
      MyPictureBox.Left = _
      CType((Me.ClientRectangle.Width / 2) _
      - (MyPictureBox.Width / 2), Integer)
      MyPictureBox.Top = _
      CType((Me.ClientRectangle.Height / 2) _
      - (MyPictureBox.Height / 2), Integer)

   End Sub

   Private Sub Form1_PreviewKeyDown(ByVal sender As Object, _
   ByVal e As System.Windows.Forms.PreviewKeyDownEventArgs _
   ) Handles Me.PreviewKeyDown

      'Poistamalla hipsu sanan MsgBox edestä saat
      'selville kulloinkin painetun näppäimen koodin
      'MsgBox(e.KeyCode)

      'tutkitan case rakenteessa onko painettu jotain nuolinäppäintä...
      Select Case CType(e.KeyCode, Integer)

         Case 37  'vasen

            'jos MyPictureBox'n vasen reuna on suurempi tai yhtäsuurikuin
            '10 piirtoyksikköä lomakkeen piirtoalueen vsemmasta reunasta niin...
            If MyPictureBox.Left >= Me.ClientRectangle.Left + 10 Then
               'siirretään MyPictureBox'ä 10 yksikköä vasemmalle
               MyPictureBox.Left = MyPictureBox.Left - 10

            'jos taas MyPictureBox vasemman reunan etäissys
            'mitattuna lomakkeen piirtoalueen reunasta suurempi
            'kuin 0 ja pinenmpi kuin 10 yksikköä niin...
            ElseIf  MyPictureBox.Left > 0 And MyPictureBox.Left < 10 Then
               'MyPictureBox siirretään lomakkeen piirtoalueen vasempaan reunaan
               MyPictureBox.Left = Me.ClientRectangle.Left
            End If

         Case 38  'ylös

            'jos MyPictureBox yläreuna on suurempi tai yhtäsuurikuin
            '10 piirtoyksikköä lomakkeen piirtoalueen yläreunasta niin...
            If MyPictureBox.Top >= Me.ClientRectangle.Top + 10 Then
               'MyPictureBox siirretään lomakkeella 10 piirtoyksikköä ylöspäin
               MyPictureBox.Top = MyPictureBox.Top - 10

            'jos taas MyPictureBox yläreunan etäisyys on
            'suurempi kuin 0 ja pinempikuin 10 piirtoyksikköä
            'mitattuna lomakkeen piirtoalueen yläreunasta niin...
            ElseIf MyPictureBox.Top > 0 And MyPictureBox.Top < 10 Then

               'MyPictureBox siirretään lomakkeen piirtoalueen yläreunaa
               MyPictureBox.Top = Me.ClientRectangle.Top
            End if

         Case 39  'oikea

            'jos MyPictureBox oikea reuna, joka saadaan laskemalla
            'yhteen MyPictureBox vasemman reunan sijainti lomkkeen
            'piirtoalueella ja MyPictureBox leveys, on pienempi tai
            'yhtäsuuri kuin lomkkeen piirtoalueen leveys (eli
            'lomkkeen piirtoalueen oikea reuna) -10 niin...
            If MyPictureBox.Left + MyPictureBox.Width _
            <= Me.ClientRectangle.Width -10 Then
               'MyPictureBox siirretään lomakkeella
               '10 piirtoyksikkä oikealle
               MyPictureBox.Left = MyPictureBox.Left + 10

            'jos taas MyPictureBox oikean reunan sijainti
            'on suurempikuin 0 ja pienempi kuin 10 piirtoyksikköä
            'lomakkeen piirtoalueen oikeasta reunasta niin...
                ElseIf Me.ClientRectangle.Width  - _
                (MyPictureBox.Left + MyPictureBox.Width) > 0 And _
                Me.ClientRectangle.Width  - _
                (MyPictureBox.Left + MyPictureBox.Width) < 10 Then
                   'MyPictureBox siirretään lomakkeen
                   'piirtoalueen oikeaan reunaan
                   MyPictureBox.Left = _
                   Me.ClientRectangle.Width - MyPictureBox.width
                End If

         Case 40  'alas

            'jos MyPictureBox alareuna, joka saadaan laskemalla
            'yhteen MyPictureBox yläreuna (top) ja MyPictureBox
            'korkeus (height), on peinempi tai yhtäsuurikuin
            'lomakkeen piirtoalueen korkeus - 10 niin...
            If (MyPictureBox.Top + MyPictureBox.Height) _
            <= Me.ClientRectangle.Height - 10  Then
               'MyPictureBox siirretään lomakkeella
               '10 piirtoyksikkö alaspäin
               MyPictureBox.Top = MyPictureBox.Top + 10

            'jos taas MyPictureBox alareunan etäisyys
            'lomakkeen piirtoalueen alareunasta on
            'suurempikuin 0 ja pienempikuin 10 piirtoyksikköä niin...
            ElseIf Me.ClientRectangle.Height - _
            (MyPictureBox.Top + MyPictureBox.Height) > 0 _
            And  Me.ClientRectangle.Height - _
            (MyPictureBox.Top + MyPictureBox.Height) < 10 Then
               'MyPictureBox siirretään lomakkee alareunaan
               MyPictureBox.Top = _
               Me.ClientRectangle.Height - MyPictureBox.Height
            End If

      End Select
   End Sub

End Class

 
sensijaan jos tarkoituksena oli vaihdella eri pictureboxien kuvia tietyn näppäimen painalluksen perusteella eikä oheinen esimerkki aukea niin suosittelen jälleen samaa kuin edellä...

'tässäkään esimerkissä lomakkeelle ei tarvitse raahata yhtikäs
'mitään vaan riittää, että painelee näppäimiä A, B, C & D
Imports System.Drawing

Public Class Form1

   Private MyPictureBox(3) As PictureBox
   Private KuvaKansio As String = String.Empty

   Private Sub Form1_Load(ByVal sender As Object, _
   ByVal e As System.EventArgs) Handles Me.Load

      Me.KeyPreview = True

      KuvaKansio = Application.StartupPath + "\kuvat"

      If Dir(KuvaKansio, vbDirectory) = "" Then
         MkDir(KuvaKansio)
      End If

      For i As Integer = 0 To 3
         MyPictureBox(i) = New PictureBox
         MyPictureBox(i).Size = New Size(50, 50)
         Select Case i
            Case 0
               MyPictureBox(i).Name = "PictureBoxA"
               MyPictureBox(i).Left = 10
               MyPictureBox(i).Top = 10
            Case 1
               MyPictureBox(i).Name = "PictureBoxB"
               MyPictureBox(i).Left = _
               MyPictureBox(0).Left + _
               MyPictureBox(0).Width + 10
               MyPictureBox(i).Top = 10
            Case 2
               MyPictureBox(i).Name = "PictureBoxC"
               MyPictureBox(i).Left = 10
               MyPictureBox(i).Top = MyPictureBox(0).Top _
               + MyPictureBox(0).Height + 10
            Case 3
               MyPictureBox(i).Name = "PictureBoxD"
               MyPictureBox(i).Left = _
               MyPictureBox(2).Left + _
               MyPictureBox(2).Width + 10
               MyPictureBox(i).Top = MyPictureBox(1).Top _
               + MyPictureBox(1).Height + 10
         End Select

         Me.Controls.Add(MyPictureBox(i))

      Next

      If Dir(KuvaKansio) = "" Then

         Dim fontti As New Font("Arial", 12)

         For i As Integer = 1 To 5
            Dim väri As Color
            Select Case i
               Case 1
                  väri = Color.Black
               Case 2
                  väri = Color.Red
               Case 3
                  väri = Color.Blue
               Case 4
                  väri = Color.Aqua
               Case 5
                  väri = Color.Yellow
            End Select

            For j As Integer = 1 To 4

               Dim merkkijono As String = String.Empty

               Select Case j
                  Case 1
                     merkkijono = "A" + CStr(i)
                  Case 2
                     merkkijono = "B" + CStr(i)
                  Case 3
                     merkkijono = "C" + CStr(i)
                  Case 4
                     merkkijono = "D" + CStr(i)
               End Select

               Dim bittikartta As New Bitmap( _
               MyPictureBox(0).Width, MyPictureBox(0).Height)
               Dim grafiikka As Graphics = Graphics.FromImage(bittikartta)
               Dim pensseli As New SolidBrush(väri)
               grafiikka.DrawString(merkkijono, fontti, pensseli, 5, 5)
               Dim KokoPolku As String = KuvaKansio + _
               "\" + "kuva" + merkkijono + ".bmp"
               bittikartta.Save(KokoPolku)
               pensseli = Nothing
               grafiikka = Nothing
               bittikartta = Nothing
            Next j
         Next i
      End If

   End Sub

   Private Sub Form1_PreviewKeyDown(ByVal sender As Object, _
   ByVal e As System.Windows.Forms.PreviewKeyDownEventArgs _
   ) Handles Me.PreviewKeyDown


      Static laskuriA As Integer
      Static laskuriB As Integer
      Static laskuriC As Integer
      Static laskuriD As Integer
      Dim TiedostoNimi As String = String.Empty
      Dim TiedostoPolku As String = String.Empty

      Select Case e.KeyData.ToString
         Case "A"
            laskuriA += 1
            TiedostoNimi = "kuvaA" + CStr(laskuriA) + ".bmp"
            TiedostoPolku = KuvaKansio + "\" + TiedostoNimi
            If Dir(TiedostoPolku) = "" Then
               MsgBox("Tiedostoa '" + TiedostoPolku + "' ei löydy")
            Else
               MyPictureBox(0).ImageLocation =  TiedostoPolku
            End If
            If laskuriA = 5 Then laskuriA = 0
         Case "B"
            laskuriB += 1
            TiedostoNimi = "kuvaB" + CStr(laskuriB) + ".bmp"
            TiedostoPolku = KuvaKansio + "\" + TiedostoNimi
            If Dir(TiedostoPolku) = "" Then
               MsgBox("Tiedostoa '" + TiedostoPolku + "' ei löydy")
            Else
               MyPictureBox(1).ImageLocation =  TiedostoPolku
            End if
            If laskuriB = 5 Then laskuriB = 0
         Case "C"
            laskuriC += 1
            TiedostoNimi = "kuvaC" + CStr(laskuriC) + ".bmp"
            TiedostoPolku = KuvaKansio + "\" + TiedostoNimi
            If Dir(TiedostoPolku) = "" Then
               MsgBox("Tiedostoa '" + TiedostoPolku + "' ei löydy")
            Else
               MyPictureBox(2).ImageLocation =  TiedostoPolku
            End if
            If laskuriC = 5 Then laskuriC = 0
         Case "D"
            laskuriD += 1
            TiedostoNimi = "kuvaD" + CStr(laskuriD) + ".bmp"
            TiedostoPolku = KuvaKansio + "\" + TiedostoNimi
            If Dir(TiedostoPolku) = "" Then
               MsgBox("Tiedostoa '" + TiedostoPolku + "' ei löydy")
            Else
               MyPictureBox(3).ImageLocation =  TiedostoPolku
            End if
            If laskuriD = 5 Then laskuriD = 0
      End Select

   End Sub

End Class

 
jos taas pictureboxit eivät ole välttämättömyys niin voisit piirrellä esim. osin transparenttia .gif kuvaa suoraan lomakkeelle ja rakennella halutessasi vaikka kuinka hienoja location map systeemejä...

Public Class Form1

   Private ukkoX As Integer
   Private ukkoY As Integer
   Private bm As New Bitmap("ukko.gif")
   Private rect As Rectangle

   Private Sub Form1_Load(ByVal sender As Object, _
   ByVal e As System.EventArgs) Handles Me.Load
      Me.KeyPreview = True
      rect.Width = bm.Width
      rect.Height = bm.Height
   End Sub

   Private Sub Form1_Shown(sender as Object, _
   e as EventArgs) Handles Form1.Shown
      SendKeys.Send("{DOWN}")
   End Sub

   Private Sub Form1_PreviewKeyDown(ByVal sender As Object, _
   ByVal e As System.Windows.Forms.PreviewKeyDownEventArgs _
   ) Handles Me.PreviewKeyDown

      Dim gr As Graphics = Graphics.FromHwnd(Me.Handle)
      Dim Siirto As Boolean = False

      Select Case CType(e.KeyCode, Integer)
         Case 37
            If ukkoX >= 5 Then
               ukkoX -= 5: Siirto = True
            End If
         Case 38
            If ukkoY >= 5 Then
               ukkoY -= 5: Siirto = True
            End If
         Case 39
            If ukkoX <= Me.ClientRectangle.Width _
            - (bm.Width + 5) Then
               ukkoX += 5: Siirto = True
            End If
         Case 40
            If ukkoY <= Me.ClientRectangle.Height _
            - (bm.Height + 5) Then
               ukkoY += 5: : Siirto = True
            End If
      End Select

      If Siirto Then
         Me.Refresh
         rect.Location = New Point(ukkoX, ukkoY)
         gr.DrawImage(bm, rect, 0, 0, bm.Width, _
         bm.Height, GraphicsUnit.Pixel)
      End if

      gr = Nothing

   End Sub

End Class

Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta