Benutzerdefiniertes Bild

  • VB.NET

Es gibt 18 Antworten in diesem Thema. Der letzte Beitrag () ist von SureWay.

    Benutzerdefiniertes Bild

    Hallo liebe VB-Paradise Mitglieder.

    Ich möchte, dass der Benutzer meines Programms mit Klick auf eine PictureBox den FolderBrowserDialog geöffnet bekommt.
    So habe ich es bereits gemacht:

    Visual Basic-Quellcode

    1. Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click
    2. Dim BildAuswaehlen As New FolderBrowserDialog
    3. If BildAuswaehlen.ShowDialog = Windows.Forms.Dialog.Result.OK Then
    4. Dim Pfad As String = BildAuswaehlen.SelectedPath
    5. INI_WriteValueToFile("object_1", "pic", Pfad, cfg_pfad)
    6. End If
    7. End Sub


    Jetzt zeigt er mir allerdings bei Windows.Forms.Dialog.Result.Ok einen Error an.
    Wie kann ich den beheben?

    -----------------------------------------------------------------------------------------------------------------------------------

    Außerdem möchte ich, dass das ausgewählte Bild irgendwie gespeichert wird, sodass es beim nächsten Start, oder meinetwegen bei der nächsten aktualisierung des Hauptfensters dieses benutzerdefinierte Bild dargestellt ist.
    Kann mir jemand sagen, wie ich dies umsetzen kann?


    Mit freundlichen Grüßen,
    Maik H.
    Es existiert ein Interesse an der generellen Rezession der Applikation relativ primitiver Methoden komplimentär zur Favorisierung adäquater komplexer Algorithmen.
    ------------------------------------------------------------------------------------
    Rising Existence - das GTA V-MP Projekt mit Zukunft und Innuvation

    Visual Basic-Quellcode

    1. Dim BildAuswaehlen As New FolderBrowserDialog
    2. If BildAuswaehlen.ShowDialog = Windows.Forms.DialogResult.OK = True Then
    3. MsgBox("BLA")
    4. End If


    dass das ausgewählte Bild irgendwie gespeichert wird, sodass es beim nächsten Start, oder meinetwegen bei der nächsten aktualisierung des Hauptfensters dieses benutzerdefinierte Bild dargestellt ist.Kann mir jemand sagen, wie ich dies umsetzen kann?


    Warum benutzt du überhaupt einen FBD wenn du ein Bild auswählen möchtest? :D

    xtts02 schrieb:

    Bei Fehler ist es immer hilfreich, die Fehlerbeschreibung gleich zu posten.

    "Dialog" ist kein Member von "Forms".

    @SureWay Danke! :)

    Edit: Mir ist gerade aufgefallen, dass ich damit nur Ordner auswählen kann... X/ Wie kann ich mit so einer Funktion Bilder/Dateien auswählen?
    Es existiert ein Interesse an der generellen Rezession der Applikation relativ primitiver Methoden komplimentär zur Favorisierung adäquater komplexer Algorithmen.
    ------------------------------------------------------------------------------------
    Rising Existence - das GTA V-MP Projekt mit Zukunft und Innuvation
    Hey,

    ich verstehe zwar nicht, warum Du einen FolderBrowserDialog nutzt, wenn der User ein Bild auswählen soll. Ein OpenFileDialog wäre doch logischer?

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    3. Using oFD As New OpenFileDialog
    4. If oFD.ShowDialog() = Windows.Forms.DialogResult.OK Then
    5. End If
    6. End Using
    7. End Sub
    8. End Class


    Es wird nicht Dialog.Result geschrieben, sondern DialogResult, daher Dein Fehler. Nutze die ImageLocation-Property der PictureBox, diese kannst Du bequem per My.Settings binden.
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o

    SpaceyX schrieb:

    ich verstehe zwar nicht, warum Du einen FolderBrowserDialog nutzt, wenn der User ein Bild auswählen soll.

    Ja ist mir ja gerade auch aufgefallen.
    Nur leider bin ich totaler Anfänger und muss mir vieles selbst beibringen, da wir in der Schule in Mathe-Informatik noch nicht so weit sind... :D

    Danke für eure Antworten, @SpaceyX & @SureWay , hat mir wirklich sehr geholfen!

    Edit: Nochmal ich... :D Wie kann ich jetzt den gesamten Pfad speichern? Bekomme es gerade nur hin den Namen der Datei zu speichern. :/ Werde mir erst einmal die Funktion ImageLocation-Property angucken...
    Es existiert ein Interesse an der generellen Rezession der Applikation relativ primitiver Methoden komplimentär zur Favorisierung adäquater komplexer Algorithmen.
    ------------------------------------------------------------------------------------
    Rising Existence - das GTA V-MP Projekt mit Zukunft und Innuvation

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Maik H.“ ()

    Maik H. schrieb:

    Nur leider bin ich totaler Anfänger und muss mir vieles selbst beibringen, da wir in der Schule in Mathe-Informatik noch nicht so weit sind...


    Klar, dafür gibt es doch solche Foren oder nicht? :)

    Also den gesamten Pfad bekommst du mit

    Visual Basic-Quellcode

    1. oFD.FileName

    also um den Pfad in den Settings zu speichern:

    Visual Basic-Quellcode

    1. Using oFD As New OpenFileDialog
    2. If oFD.ShowDialog() = Windows.Forms.DialogResult.OK Then
    3. Dim path As String
    4. path = oFD.FileName
    5. My.Settings.Background = path
    6. My.Settings.Save()
    7. End If
    8. End Using
    My.Settings.Background = path Hier wird aber das Bild als Hintergrund gesetzt, oder?
    Ich möchte das Bild ja auf Dauer benutzen können. Es soll wie ein Profilbild funktionieren, ich glaube das ist das beste Beispiel dafür, wie schon gesagt.
    Es existiert ein Interesse an der generellen Rezession der Applikation relativ primitiver Methoden komplimentär zur Favorisierung adäquater komplexer Algorithmen.
    ------------------------------------------------------------------------------------
    Rising Existence - das GTA V-MP Projekt mit Zukunft und Innuvation
    Das ist Quatsch. Wie ich sagte, binde die ImageLocation-Property an eine SettingsVaribale. My.Settings.Save() kannst Du Dir sparen, das passiert automatisch.
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o

    Maik H. schrieb:

    My.Settings.Background = path Hier wird aber das Bild als Hintergrund gesetzt, oder?


    Äh nein.. :D

    Du Speicherst dort nur den Pfad zu dem Bild.

    Um den Pfad jetzt als Hintergrund zu setzen brauchst du diesen Code:

    Visual Basic-Quellcode

    1. Me.BackgroundImage = Image.FromFile(My.Settings.Background)


    SpaceyX schrieb:

    ​ My.Settings.Save() kannst Du Dir sparen, das passiert automatisch.

    Aber nur wenn das Programm ordnungsgemäß heruntergefahren wird und die Funktion aktiviert ist.


    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „SureWay“ ()

    Erst einmal vielen Dank, @SpaceyX ! :)

    Habe jetzt verstanden, wie ihr das meint.
    Wird das Bild, sobald man das Programm beim nächsten mal startet dann wieder angezeigt? Aber nur wenn das Bild noch an der gleichen Stelle ist, oder?
    Es existiert ein Interesse an der generellen Rezession der Applikation relativ primitiver Methoden komplimentär zur Favorisierung adäquater komplexer Algorithmen.
    ------------------------------------------------------------------------------------
    Rising Existence - das GTA V-MP Projekt mit Zukunft und Innuvation
    Jep, Du speicherst ja den Pfad. Kopiere einfach das ausgewählte Bild ins Programmverzeichnis/AppData oder sonst wo hin und setze den Pfad entsprechend.
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o
    Ok.
    Werde es so machen:
    1) Bild mit ausgewähltem Pfad wird ins Programmverzeichnis auf der Festplatte kopiert
    2) Lese den Dateinamen von der ausgewählten Datei aus
    3) Speichere den neuen Pfad

    So gut?
    Es existiert ein Interesse an der generellen Rezession der Applikation relativ primitiver Methoden komplimentär zur Favorisierung adäquater komplexer Algorithmen.
    ------------------------------------------------------------------------------------
    Rising Existence - das GTA V-MP Projekt mit Zukunft und Innuvation
    Ok. Danke.

    Habe jetzt aber das Problem, dass meine erste Form(Laden... +Info) wohl kommt, jedoch das Hauptfenster, was danach immer kam sich gar nicht mehr öffnet und der Debug ohne sichtbare Fehlermeldung beendet wird! :?:
    Hier mal der Log, falls er hilft:
    Spoiler anzeigen

    "Garantie Manager.vshost.exe" (CLR v4.0.30319: Garantie Manager.vshost.exe): "C:\Windows\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll" geladen. Das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.

    "Garantie Manager.vshost.exe" (CLR v4.0.30319: Garantie Manager.vshost.exe): "C:\Windows\assembly\GAC_MSIL\Microsoft.VisualStudio.HostingProcess.Utilities\12.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.HostingProcess.Utilities.dll" geladen. Das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.

    "Garantie Manager.vshost.exe" (CLR v4.0.30319: Garantie Manager.vshost.exe): "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Windows.Forms\v4.0_4.0.0.0__b77a5c561934e089\System.Windows.Forms.dll" geladen. Das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.

    "Garantie Manager.vshost.exe" (CLR v4.0.30319: Garantie Manager.vshost.exe): "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Drawing\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll" geladen. Das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.

    "Garantie Manager.vshost.exe" (CLR v4.0.30319: Garantie Manager.vshost.exe): "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll" geladen. Das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.

    "Garantie Manager.vshost.exe" (CLR v4.0.30319: Garantie Manager.vshost.exe): "C:\Windows\assembly\GAC_MSIL\Microsoft.VisualStudio.HostingProcess.Utilities.Sync\12.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.HostingProcess.Utilities.Sync.dll" geladen. Das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.

    "Garantie Manager.vshost.exe" (CLR v4.0.30319: Garantie Manager.vshost.exe): "C:\Windows\assembly\GAC_MSIL\Microsoft.VisualStudio.Debugger.Runtime\12.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.Debugger.Runtime.dll" geladen. Das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.

    "Garantie Manager.vshost.exe" (CLR v4.0.30319: Garantie Manager.vshost.exe): "C:\Users\Maik\documents\visual studio 2013\Projects\Obstergo Entertaiments\Garantie Manager\bin\Debug\Garantie Manager.vshost.exe" geladen. Das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.

    "Garantie Manager.vshost.exe" (CLR v4.0.30319: Garantie Manager.vshost.exe): "C:\Windows\Microsoft.Net\assembly\GAC_32\System.Data\v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll" geladen. Das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.

    "Garantie Manager.vshost.exe" (CLR v4.0.30319: Garantie Manager.vshost.exe): "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll" geladen. Das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.

    "Garantie Manager.vshost.exe" (CLR v4.0.30319: Garantie Manager.vshost.exe): "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Deployment\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Deployment.dll" geladen. Das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.

    "Garantie Manager.vshost.exe" (CLR v4.0.30319: Garantie Manager.vshost.exe): "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll" geladen. Das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.

    "Garantie Manager.vshost.exe" (CLR v4.0.30319: Garantie Manager.vshost.exe): "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml.Linq\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.Linq.dll" geladen. Das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.

    "Garantie Manager.vshost.exe" (CLR v4.0.30319: Garantie Manager.vshost.exe): "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Data.DataSetExtensions\v4.0_4.0.0.0__b77a5c561934e089\System.Data.DataSetExtensions.dll" geladen. Das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.

    "Garantie Manager.vshost.exe" (CLR v4.0.30319: Garantie Manager.vshost.exe): "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.VisualBasic\v4.0_10.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualBasic.dll" geladen. Das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.

    "Garantie Manager.vshost.exe" (CLR v4.0.30319: Garantie Manager.vshost.exe): "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\mscorlib.resources\v4.0_4.0.0.0_de_b77a5c561934e089\mscorlib.resources.dll" geladen. Das Modul wurde ohne Symbole erstellt.

    Der Thread 0x194c hat mit Code 259 (0x103) geendet.

    Der Thread 0x1708 hat mit Code 259 (0x103) geendet.

    Der Thread 0x5dc hat mit Code 0 (0x0) geendet.

    Der Thread 0x1bb8 hat mit Code 259 (0x103) geendet.

    "Garantie Manager.vshost.exe" (CLR v4.0.30319: Garantie Manager.vshost.exe): "C:\Users\Maik\documents\visual studio 2013\Projects\Obstergo Entertaiments\Garantie Manager\bin\Debug\Garantie Manager.exe" geladen. Symbole wurden geladen.

    "Garantie Manager.vshost.exe" (CLR v4.0.30319: Garantie Manager.vshost.exe): "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Runtime.Remoting\v4.0_4.0.0.0__b77a5c561934e089\System.Runtime.Remoting.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.

    "Garantie Manager.vshost.exe" (CLR v4.0.30319: Garantie Manager.vshost.exe): "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Accessibility\v4.0_4.0.0.0__b03f5f7f11d50a3a\Accessibility.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.

    "Garantie Manager.vshost.exe" (CLR v4.0.30319: Garantie Manager.vshost.exe): "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll" geladen. Das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.

    Das Programm "[6544] Garantie Manager.vshost.exe: Programmablaufverfolgung" wurde mit Code 0 (0x0) beendet.

    Das Programm "[6544] Garantie Manager.vshost.exe" wurde mit Code 0 (0x0) beendet.



    Hoffe ihr könnt mir helfen, solange kann ich ja nicht weiter machen... :(
    Es existiert ein Interesse an der generellen Rezession der Applikation relativ primitiver Methoden komplimentär zur Favorisierung adäquater komplexer Algorithmen.
    ------------------------------------------------------------------------------------
    Rising Existence - das GTA V-MP Projekt mit Zukunft und Innuvation