Probleme mit dem Hintergrundbild in einer Form

  • VB.NET

Es gibt 21 Antworten in diesem Thema. Der letzte Beitrag () ist von Blacky1980.

    Probleme mit dem Hintergrundbild in einer Form

    Hallo zusammen.

    Ich habe folgendes Problem.

    Wenn ich in einer Form ein Hintergrund Image rein machen und dann den Debugging starte bekomme ich folgende Fehlermeldung.

    System.AccessViolationException wurde nicht behandelt.
    Message=Es
    wurde versucht, im geschützten Speicher zu lesen oder zu schreiben. Dies
    ist häufig ein Hinweis darauf, dass anderer Speicher beschädigt ist.


    Ich verstehe nur nicht warum diese Meldung aufeinmal kommt! Es ging bis gestern noch alles ohne Probleme



    Wie und was kann ich tun damit ich wieder Normal mit Visual Basic 2010 Express abreiten kann.

    Danke Gruß Michael
    Eventuell hat dein Arbeitsspeicher ein Problem/Defekt?
    Versuch mal mit so Testtools, welche den Speicher checken, drüberlaufen zu lassen.

    Ansich sollte es ja kein Problem sein einer Form ein Hintergrundbild anzugeben.

    lg
    ScheduleLib 0.0.1.0
    Kleine Lib zum Anlaufen von Code zu bestimmten Zeiten
    Hallo fichz

    Vielen Danke für die schnelle Antwort


    Das ist ja auch kein Problem ich hatte es ja schon mehrfach gemacht. Nur seit gestern geht das nicht mehr. Auch andere Projekte die ich mal gemacht haben und die ein Hintergrundbild haben kann ich nicht mehr bearbeiten.

    Ich kann mir das mit dem Arbeitsspeicher nicht vorstellen da der Rechner neu ist. Aber ich werde es mal testen.


    Gruß Michael
    Hallo fichz

    Ich konnte am Arbeitsspecher keinen Fehler finden. Woran kann das noch liegen?

    Wer kann mir da noch Tips geben woran das liegt. Habe schon VB 2010 E deinstalliert und neu installier habe es schon repariert aber alles ohne erfolg.



    Gruß Michael
    Hallo Dancger und Gonger96

    Danke für eure Antworten.

    Dancger schrieb:

    Schon mit einem neuen Projekt und/oder Hintergrundbild versucht? (Nach der Neuinstallation)
    Habe es schon mehrfach mit neuen Projekten und Bildern versucht aber es kommt immer die selbe Meldung.


    Gonger96 schrieb:

    Die Fehlermeldung ist seltsam, sowas bekomm ich normal nur in C++ wenn ich nach .Net hin was falsch marshalle. Wie setzt du das Hintergrundbild denn, ganz normal im Designer ?
    Ich mache es über die Eigenschaft der Form unter BackgroundImage dann gehe ich auf Lokale Ressource und dort gehe ich auf Importieren wähle dann das Bild aus und dann ok und schon ist das Bild drin aber wenn ich dann Debugging starte kommt der Fehler.

    Hier mal der Gesamte fehler

    "System.AccessViolationException wurde nicht behandelt.
    Message=Es wurde versucht, im geschützten Speicher zu lesen oder zu schreiben. Dies ist häufig ein Hinweis darauf, dass anderer Speicher beschädigt ist.
    Source=System.Drawing
    StackTrace:
    bei System.Drawing.SafeNativeMethods.Gdip.GdipFillRectangleI(HandleRef graphics, HandleRef brush, Int32 x, Int32 y, Int32 width, Int32 height)
    bei System.Drawing.Graphics.FillRectangle(Brush brush, Int32 x, Int32 y, Int32 width, Int32 height)
    bei System.Drawing.Graphics.FillRectangle(Brush brush, Rectangle rect)
    bei System.Windows.Forms.ControlPaint.DrawBackgroundImage(Graphics g, Image backgroundImage, Color backColor, ImageLayout backgroundImageLayout, Rectangle bounds, Rectangle clipRect, Point scrollOffset, RightToLeft rightToLeft)
    bei System.Windows.Forms.Control.PaintBackground(PaintEventArgs e, Rectangle rectangle, Color backColor, Point scrollOffset)
    bei System.Windows.Forms.Control.PaintBackground(PaintEventArgs e, Rectangle rectangle)
    bei System.Windows.Forms.Control.OnPaintBackground(PaintEventArgs pevent)
    bei System.Windows.Forms.ScrollableControl.OnPaintBackground(PaintEventArgs e)
    bei System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer)
    bei System.Windows.Forms.Control.WmEraseBkgnd(Message& m)
    bei System.Windows.Forms.Control.WndProc(Message& m)
    bei System.Windows.Forms.ScrollableControl.WndProc(Message& m)
    bei System.Windows.Forms.Form.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.SafeNativeMethods.ShowWindow(HandleRef hWnd, Int32 nCmdShow)
    bei System.Windows.Forms.Control.SetVisibleCore(Boolean value)
    bei System.Windows.Forms.Form.SetVisibleCore(Boolean value)
    bei System.Windows.Forms.Control.set_Visible(Boolean value)
    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:
    "


    Ich verstehe das nur nicht den gestern Mittag ging das noch ohne Probleme.

    Was kann ich den noch machen?

    Gruß Michael
    Hallo SpaceyX

    Ich habe so kein Projekt ich erstelle ein neues mach das HG-Bild rein und schon geht nichts mehr. Ich habe haben werder Code noch sonst was in der Form einfach nur ne leere Form und dem HG-Bild.

    Habe es hochgeladen!

    Ist nur die Form mit dem HG-Bild drin.


    Gruß Michael
    Dateien
    Seltsames Problem. Ich hab jetzt ein bisschen gesucht, aber nirgendwo findet man konkrete Antworten. Läuft das Programm, wenn es nicht debugged wird? Teste mal in einer VM.
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o
    Hallo SpaceyX

    Wenn im Verzeichniss

    WindowsApplication1\WindowsApplication1\bin\Debug

    Die Datei WindowsApplication1 starte dann sehe ich die Form und auch das HG-Bild.

    Auch im Verzeichniss WindowsApplication1\WindowsApplication1\bin\Release
    oder im Verzeichniss \WindowsApplication1\WindowsApplication1\obj\x86\Debug
    und auch im Verzeichniss WindowsApplication1\WindowsApplication1\obj\x86\Release

    geht es ohne Probleme.
    Nur das bringt mir ja nicht viel wenn ich nun mein Projekt mit Code und so testen möchte den dann geht es nicht. Ich habe gestern auch noch bis heute morgen gesucht und nichts darüber gefunden.


    Gruß Michael
    Nun habe ich noch was getestet.

    Ich habe mir mal ein Panel in die Form rein gemacht und dann habe ich dort ein ganz anderes HG-Bild rein gemacht und dort kommt auch der fehler!!!


    Was ist den da das Problem ich verstehe es einfach nicht.
    Versuch mal das Bild nicht im Designer sondern per Code einzustellen.

    Am Besten im FormShown Event.
    Wie kann ich das machen? Den das habe ich bisher noch nicht so gemacht.


    Gruß Michael
    Hallo fichz

    Das gleiche Problem.

    Bin auf My Project dann auf Ressourcen dann in der Liste Bilder gewählt dann vorhande Datei hinzufügen mein ein Bild ausgewählt. Dann bin ich auf den Code und habe den Code nun so drin.


    VB.NET-Quellcode

    1. Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    2. Me.BackgroundImage = My.Resources.TempelClub_HG
    3. End Sub


    Ist ja so richtig oder?

    Wenn ich dann Deging starte kommt der gleiche fehler.



    SpaceyX schrieb:


    Installiere Dir mal VS2012 und test damit, falls Du das nicht getan hast.
    Muss ich dazu den VB 2010 deinstallieren?

    Mich wunder das nur da es auf dem Lappi ohne Probleme läuft.


    Gruß Michael
    Hallo Spacey

    Ich werde es mal mit dem VS 2012 versuchen ich hoffe nur das meine anderen Projekte dann wieder gehen.

    Ich danke euch allen für die Hilfe und falss jemand noch eine Lösung hatt kann sich ja gerne nochmal melden.


    Vielen vielen Dank an alle.


    Gruß Michael
    System.Drawing versucht im geschützten Speicher zu lesen/schreiben, hängt doch mit ner nativen Methode zusammen. Ich wüsste nicht wieso das mit der IDE zusammenhängen könnte, du kannst höchstens mal das Framework komplett neu installieren.