Resource und Treeview .Net4.5 VS2012

  • VB.NET
  • .NET 4.5

Es gibt 55 Antworten in diesem Thema. Der letzte Beitrag () ist von Amelie.

    Resource und Treeview .Net4.5 VS2012

    Hallo Forum

    Ich schlage mich nun schon den ganzen Tag mit dem ResourcenManger etc herum. Googlen hat nicht viel gebracht da dort über all das selbe Schema abläuft.
    Eine PicBox und gut... bring mich aber nicht weiter.


    Ich habe mir eine Treeview im Style eines Inhaltsverzeichnis gemacht und möchte nun je nachdem welchen Eintrag ich anklicke eine andere html Seite laden.
    Mit Select // Case habe ich das schon hinbekommen aber es muss doch auch mit dieser Variante gehen oder??
    Bitte nicht unbedingt auf etliche Seiten verweisen, das hat mich wirklich nicht weitergebracht. ;(

    VB.NET-Quellcode

    1. Dim webseite As String = tview_menue1.SelectedNode.[b]Tag[/b].ToString
    2. ' Habe den .[b]Tag[/b]. natürlich befüllt. einmal index.htm und nur index versucht ( In der Recource sind die jeweiligen Dateien drin. Z.B. index.htm )
    3. Mit MsgBox wird das [b]Tag[/b] auch richtig ausgegeben.
    4. Me.wb_Brows1.Navigate("about:blank")
    5. Me.wb_Brows1.Document.Write(String.Empty)
    6. Me.wb_Brows1.DocumentText = CType(My.Resources.ResourceManager.GetObject("webseite"), File) '<== Hierum geht es


    Danke für eure Hilfe
    Und dann bin ich es doch wieder :rolleyes:
    Ganz kurz nur: Was willst Du denn erreichen? Dass eine Website angezeigt wird? Dazu müsstest Du nur schreiben:

    VB.NET-Quellcode

    1. Me.wb_Brows1.Navigate(tview_menue1.SelectedNode.Tag.ToString)
    Aber vielleicht versteh ich auch das Problem nicht.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    Amelie schrieb:

    Ich habe mir eine Treeview im Style eines Inhaltsverzeichnis gemacht und möchte nun je nachdem welchen Eintrag ich anklicke eine andere html Seite laden.
    Ich verstehe nicht, was der ResourceManager damit zu tun hat.
    Den braucht man eigentlich nie - nur ziemliche Spezialisten brauchen den, wenn sie echt ungewöhnliche Dinge mit den Resource-Dateien vorhaben.
    Beziehungsweise eine WebSite kann man doch nicht in einer Resource unterbringen - und du willst ja auch noch mehrere WebSites, aus denen der TV auswählen soll?
    Achso, na dann:

    VB.NET-Quellcode

    1. wb_Brows1.DocumentText = My.Resources.WieAuchImmerDieHtmlDateiInDenRessourcenHeisst


    Habe bei Ressourcen eine HTML-Datei hinzugefügt, dann klappt das mit dem Code.
    Bilder
    • 1.png

      12,47 kB, 526×180, 13 mal angesehen
    • 2.png

      19,14 kB, 330×259, 13 mal angesehen
    • 3.png

      5,04 kB, 356×218, 10 mal angesehen
    • Result.png

      6,98 kB, 518×322, 15 mal angesehen
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Danke für die Bilder usw...
    Aber so weit war ich schon und hatte dann im Code alles per gelößt.

    VB.NET-Quellcode

    1. Private Sub TreeView1_AfterSelect(sender As Object, e As TreeViewEventArgs) Handles TreeView1.AfterSelect
    2. Dim kn As String = TreeView1.SelectedNode.Name
    3. Me.wb_Brows1.Navigate("about:blank")
    4. Me.wb_Brows1.Document.Write(String.Empty)
    5. Select Case kn
    6. Case "kn_0"
    7. Me.wb_Brows1.DocumentText = My.Resources.index
    8. Case "kn_1"
    9. Me.wb_Brows1.DocumentText = My.Resources.funktion
    10. Case "kn_2"
    11. 'Me.wb_Brows1.DocumentText = My.Resources.xxx

    Daraufhin meintest du das wäre besser zu lösen. Deswegen bin ich auf diese Idee gekommen.
    Wenn das nicht klappt mache ich es wieder mit Select....
    Jetzt verstehe ich auch, was Du da wolltest. Ja, das hiesige mit dem Select Case geht. Oder es geht los mit OOP. Du erstellst eine Klasse X, die die Property Name als String und DocumentContent auch als String hat. Dann machst Du eine Liste aus Elementen von X und bindest diese Liste an eine ListBox. Dann kannst Du sagen, dass Du in der ListBox nur die Namen angezeigt haben willst und dann entweder Wertemember auf DocumentContent setzen oder eben im entsprechenden EventHandler das entsprechende BindingSource.Current casten und so auf DocumentContent zugreifen.
    Erstell daraus mal ne Schritt-für-Schritt-Liste und gib an, wie weit Du es alleine schaffst.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    :S Ich bin wohl zu ..... :S



    VB.NET-Quellcode

    1. ​Public Class Form1
    2. Private Sub Form1_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown
    3. End Sub
    4. Private Sub htm_list()
    5. Dim Nodes As New List(Of String)({"Inhalt", "Einführung", "Rezepte"})
    6. Dim webSeite As String = Nodes(0)
    7. For Each Nodes As Seite
    8. Inhalt_tv1.Nodes.Add(Nodes(webSeite)
    9. Next
    10. End Sub
    11. End Class
    12. Public Class Seite
    13. Public webSeite As String
    14. Public Nodes As String
    15. End Class
    Nun, wie gesagt: Wenn Du es beim TreeView belassen willst, ist der Code in Post#6 von Dir schon ok.
    Wenn Du das mit dem DataBinding machen willst, schau Dir nochmal Post#7 an.
    Denn aus Deinem aktuellen Code werde ich nicht schlau, was Dein Ziel ist: Treeview behalten oder zu DataBinding+ListBox wechseln
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Ich find das mit dem Select Case nicht so schlecht - v.a., weil jede WebSite eine eigene Resource ist.
    Das kann man wie zu sehen mittels des Selects mappen, man kann sich auch ein Datenmodell dazu bauen - mappen muss man aber so oder so.
    Ich erwarte da also kaum eine Ersparnis an Codezeilen, Aufwand oderso.
    Ich bin ja willig zu lernen aber einige ist einfach noch zu undurchsichtig für mich.
    Und wie ich schon mal schrieb, wirklich brauchbare Hilfen für Anfänger findet man im Netz nicht...

    Von 10 Suchen landen 9 Suchen bei " c# Phyton ... " aber kaum etwas über VB.
    Für euch alte Hasen .. ja ihr könnt damit etwas anfangen aber ich... ?( ?(

    Naja ich über weiter und werde wohl noch viele Fragen stellen.
    Danke Euch
    Hallo

    Ich habe eine Frage zu einem Projekt. Es geht darum welche Auswahl-Elemente ich benutzen soll um die Programierung zu vereinfachen / den Code schlank zu halten.
    Es werden maximal 4 ( vier ) Datentypen abgefragt, es ist aber immer nur eine Auswahl ist möglich.
    1.) Combobox
    2.) RadioButton
    3.) CheckBox
    4. ) ...????

    Vielleicht könnt Ihr mir dann auch erklären warum Euer Vorschlag.

    Danke

    Amelie schrieb:

    Es werden maximal 4 ( vier ) Datentypen abgefragt, es ist aber immer nur eine Auswahl ist möglich.
    Versteh ich nicht - wie, warum und in welchem Zusammenhang willst du vier Datentypen abfragen?
    Sowas?

    VB.NET-Quellcode

    1. If TypeOf Sender Is Combobox Then
    2. '...
    3. ElseIf TypeOf Sender Is RadioButton Then
    4. '...
    5. ElseIf TypeOf Sender Is CheckBox Then
    6. '...
    7. ElseIf TypeOf Sender Is ???? Then
    8. '...
    9. end If
    Sowas kann man machen, aber ist das wirklich, was du vorhast?
    Wie kann eine Combobox einen Datentyp als Eintrag haben?

    VB.NET-Quellcode

    1. Combobox1.Items.Add(TreeNode)
    probiermal

    (Ich glaub, du willst gar keine "Datentypen abfragen", obwohl du das jetzt schon zweimal gesagt hast. Aber was willst du dann?)

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

    ErfinderDesRades schrieb:

    (Ich glaub, du willst gar keine "Datentypen abfragen"


    Also mit Datentypen meine ich: doc, txt, xlt, rtf

    Zur Zeit mache ich das so mit einer ComboBox:

    VB.NET-Quellcode

    1. Dim dateityp As New List(Of String)
    2. cmb_type.DataSource = "Auswahl *.doc *.txt *.xlt *.rtf".Split


    Gibt es eine "Bessere Lösung"?
    OK dann lasse ich das so ... wobei, auch wenn es vielleicht doof klingt, von der Optik her würde ich lieber RadioButten verwenden.. ;)
    HHmmmmm ?(

    Eine Andere Frage:
    Ich habe mir mittels Code ein Treeview gebaut, was klappt.
    Problem: Wenn ich einen USB-Stick oder eine externe Platte anschließe wird die ja nicht angezeigt.
    Habe das nun erstmal so gelöst:

    VB.NET-Quellcode

    1. Private Sub btn_refresh_Click(sender As Object, e As EventArgs) Handles btn_refresh.Click
    2. hddTree.Nodes.Clear()
    3. hddTree.Nodes.Add("Computer")
    4. hddTree.Nodes.Item(0).ImageKey = "pc"
    5. hddTree.Nodes.Item(0).SelectedImageKey = "pc"
    6. Treeview()
    7. End Sub


    Kann man das mit wenig Code automatisieren wie im Explorer? Habe leider beim suchen nichts passendes gefunden.

    Amelie schrieb:

    Wenn ich einen USB-Stick oder eine externe Platte anschließe wird die ja nicht angezeigt.
    Naja, wenn Du Deine Laufwerk-Auflistungsprozedur nochmal ausführst schon. Entweder, indem Du die durch einen Buttonklick aufrufst oder - more advanced - indem Du durch Dein Programm erkennen lässt, ob ein Laufwerk dazukommt oder entfernt wird. Ggf. gibt's im Forum was zum Letzteren.
    Aber der Sinn des Codes versteh ich nicht. V.a. auch Zeile#6: Treeview()? Was soll das denn bedeuten?
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.