Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Visual Basic 2010 Picture Box mit Resources

Frage Entwicklung Visual Studio

Mitglied: 105255

105255 (Level 1)

03.06.2012 um 17:41 Uhr, 4443 Aufrufe, 2 Kommentare

Habe ein Programm geschrieben, dass bei einem Klick das nächste bzw. das vorherige Bild angezeigt wird.

Hallo da draußen,

Ich habe folgendes Programm entworfen:

a741185838e362e01b91aa556f8d803d - Klicke auf das Bild, um es zu vergrößern


Wenn man auf den Button drückt, kommt das nächste Bild.

01.
Public Class Form2 
02.
    Private imgPictures As New List(Of Bitmap) 
03.
    Private imageShowing As Integer = 0 
04.
 
05.
 
06.
 
07.
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) 
08.
 
09.
        Dim imgPictures(11) As Image 
10.
        imgPictures(0) = My.Resources.HNI_0001 
11.
        imgPictures(1) = My.Resources.HNI_0001__2_ 
12.
        imgPictures(2) = My.Resources.HNI_0001__3_ 
13.
        imgPictures(3) = My.Resources.HNI_0001__4_ 
14.
 
15.
        btn_first.Enabled = False 
16.
        btn_Previous.Enabled = False 
17.
 
18.
        PictureBox1.Image = imgPictures(0) 
19.
 
20.
    End Sub 
21.
 
22.
 
23.
 
24.
    Private Sub btn_First_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_First.Click 
25.
 
26.
        PictureBox1.Image = imgPictures(0) 
27.
        imageShowing = 0 
28.
        CheckButtons() 
29.
 
30.
    End Sub 
31.
 
32.
 
33.
 
34.
    Private Sub btn_Previous_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Previous.Click 
35.
 
36.
        PictureBox1.Image = imgPictures(imageShowing - 1) 
37.
        imageShowing -= 1 
38.
        CheckButtons() 
39.
 
40.
    End Sub 
41.
 
42.
 
43.
 
44.
    Private Sub btn_Next_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Next.Click 
45.
 
46.
        PictureBox1.Image = imgPictures(imageShowing + 1) 
47.
        imageShowing += 1 
48.
        CheckButtons() 
49.
 
50.
    End Sub 
51.
 
52.
 
53.
 
54.
    Private Sub btn_Last_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Last.Click 
55.
 
56.
        PictureBox1.Image = imgPictures(imgPictures.Count - 1) 
57.
        imageShowing = imgPictures.Count - 1 
58.
        CheckButtons() 
59.
 
60.
 
61.
    End Sub 
62.
 
63.
 
64.
 
65.
    Private Sub CheckButtons() 
66.
 
67.
        If imageShowing = 0 Then 
68.
            btn_First.Enabled = False 
69.
            btn_Previous.Enabled = False 
70.
            btn_Next.Enabled = True 
71.
            btn_Last.Enabled = True 
72.
 
73.
        ElseIf imageShowing = imgPictures.Count - 1 Then 
74.
            btn_first.Enabled = True 
75.
            btn_Previous.Enabled = True 
76.
            btn_next.Enabled = False 
77.
            btn_last.Enabled = False 
78.
 
79.
        Else 
80.
            btn_First.Enabled = True 
81.
            btn_Previous.Enabled = True 
82.
            btn_Next.Enabled = True 
83.
            btn_Last.Enabled = True 
84.
 
85.
        End If 
86.
 
87.
    End Sub 
88.
End Class
Wenn ich es Ausführe entsteht z.B. ein Fehler bei:

01.
PictureBox1.Image = imgPictures(imageShowing + 1)
Hier kommt zum Beispiel der folgende Fehler:


System.ArgumentOutOfRangeException wurde nicht behandelt.
Message=Der Index lag außerhalb des Bereichs. Er muss nicht negativ und kleiner als die Auflistung sein.
Parametername: index
ParamName=index
Source=mscorlib
StackTrace:
bei System.ThrowHelper.ThrowArgumentOutOfRangeException()
bei System.Collections.Generic.List`1.get_Item(Int32 index)
bei WindowsApplication1.Form2.btn_Next_Click(Object sender, EventArgs e) in C:\Users\Administrator\documents\visual studio 2010\Projects\Login\Login\Form2.vb:Zeile 46.
bei System.Windows.Forms.Control.OnClick(EventArgs e)
bei System.Windows.Forms.Button.OnClick(EventArgs e)
bei System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
bei System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
bei System.Windows.Forms.Control.WndProc(Message& m)
bei System.Windows.Forms.ButtonBase.WndProc(Message& m)
bei System.Windows.Forms.Button.WndProc(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
bei System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
bei System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
bei System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
bei System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
bei System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
bei Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
bei Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
bei Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
bei WindowsApplication1.My.MyApplication.Main(String[] Args) in 17d14f5c-a337-4978-8281-53493378c1071.vb:Zeile 81.
bei System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
bei System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
bei Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
bei System.Threading.ThreadHelper.ThreadStart_Context(Object state)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
bei System.Threading.ThreadHelper.ThreadStart()
InnerException:





Was soll ich machen?
Ich habe den Code jetzt schon 2 Stunden lang durchgeschaut.

Kann mir bitte jemand helfen?
Mitglied: MrTrebron
03.06.2012 um 18:16 Uhr
Servus,

Also jetzt sag mal ehrlich:
Willst du VB.net nicht mal endlich von Grund auf lernen?

Du stellst hier Fragen die nicht Aufkommen würden wenn du mal die Bücher lesen würdest die die hier schon zur Genüge angeraten wurde. So ein Buch von Galileo in der OpenBook Variante koset dich keinen Cent, bringt dich aber wenn du es mal richtig durcharbeitest viel weiter.

Gruß
Norbert
Bitte warten ..
Mitglied: catachan
04.06.2012 um 10:32 Uhr
Hi

du greifst auf einen Index zud en es nicht gibt bei : imgPictures(imageShowing + 1)
Irgendwann hat imageShowing den Maximalwert erreicht und wenn du dann noch 1 weiterfährst kommt es zu einem Speicherfehler.
Du musst also auf den Maximalwert prüfen und dann nicht mehr um 1 erhöhen.

Sollte dir allerdings selber klar sein wenn du endlich mal auf die anderen Mitglieder hören würdest und mal endlich eine ordentliche Einstiegslektüre in die Hand nimmst, statt jede Kleinigkeit hier zu posten.

LG
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Visual Studio
gelöst Remotedienst prüfen mit Visual Basic (1)

Frage von flyingmichael zum Thema Visual Studio ...

Visual Studio
Mit Visual Basic auf Shopware 5 API zugreifen (9)

Frage von SmogKiel zum Thema Visual Studio ...

Windows Tools
gelöst Visual Studio 2010 Ultimate Download? (6)

Frage von Herbrich19 zum Thema Windows Tools ...

Heiß diskutierte Inhalte
Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

DSL, VDSL
DSL-Signal bewerten (12)

Frage von SarekHL zum Thema DSL, VDSL ...

Windows Server
Mailserver auf Windows Server 2012 (8)

Frage von StefanT81 zum Thema Windows Server ...

Backup
Clients als Server missbrauchen? (8)

Frage von 1410640014 zum Thema Backup ...