Über Combobox panels aus und einblenden
- VB.NET
Sie verwenden einen veralteten Browser (%browser%) mit Sicherheitsschwachstellen und können nicht alle Funktionen dieser Webseite nutzen.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Es gibt 23 Antworten in diesem Thema. Der letzte Beitrag () ist von DJBasedream.
-
-
-
-
Visible ist schon mal ein Anfang.
Leg Dir ein neues Projekt an, setzte Deine Panels drauf. Beim Laden der Form gehst Du alle Controls auf Deiner Form in einer ForEach-Schleife durch und fügst die Panels, respektive Ihren Namen in die Combobox ein. Im SelectedIndexChanged-Event der Combobox suchst Du Dir dann das Panel, welches selektiert wurde und setzt die Visible-Eigenschaft entsprechend.Die Unendlichkeit ist weit. Vor allem gegen Ende.
Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. -
SpaceyX schrieb:
respektive Ihren Namen in die Combobox
Dasselbe wie in Keine Strings in die File-Listbox!
Lade wie Panels in eine List(of Panel) und binde diese an eine Combobox -
Wenn Du das tust, dann hast Du ein Problem, weil Du nur leere Einträge in der Combobox haben wirst. Da hatten wir gestern ne Diskussion drüber. Auch das Setzen des DisplayMembers = "Name" bringt nichts. Einträge sind schon da, nur wird nichts angezeigt. Das passiert mit allen Objecten, die IComponent implementieren, da ist wohl was Buggy. Probiers selber aus. Du kannst natürlich eine andere Property als DisplayMember heranziehen, das haut hin. Sonst hätte ich ihm das schon vorgeschlagen.
EDIT: Hier der Link zur Diskussion: vb-paradise.de/programmieren/h…listbox-bug-oder-feature/
EDIT: Du kannst Dir natürlich die Tag-Propety zu Nutze machen. Einfach der Tag-Property die Name-Property zu weisen. DisplayMember dann auf "Tag" setzen.Die Unendlichkeit ist weit. Vor allem gegen Ende.
Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken.Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „SpaceyX“ ()
-
-
-
-
Jo, weil mich das nämlich irre macht :wacko: Hab gestern glaub ich fast den ganzen Tag mit dem Scheiss verbracht. Vielleicht sollten wir wieder auf den TE warten, es geht ja schliesslich um sein Problem.Die Unendlichkeit ist weit. Vor allem gegen Ende.
Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. -
TabControlOhneReiter ist einfacher zu handhaben, und v.a. im Designer wesentlich angenehmer als ein Haufen Panel, die übereinanderliegen (was ja ein TabControl im Grunde ist: Panels, die übereinander liegen).
-
Salut!
Meine Lösung wäre, einfach in den Einstellungen des (der) Panel(s) Visible auf "False" zu setzen. Den Code würde ich so machen:
Das machst du dann einfach mit den anderen Panels auch, dann sollte es klappen!
Gruß! -
Da wir den armen Kerl wohl gestern verschreckt haben, hier:
VB.NET-Quellcode
- Public Class Form1
- Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- Dim result = From p As Panel In Me.Controls.OfType(Of Panel)() Select p Order By p.Name
- Me.ComboBox1.Items.AddRange(result.ToArray())
- Me.ComboBox1.DisplayMember = "Name"
- End Sub
- Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
- If Not IsNothing(Me.ComboBox1.SelectedItem) Then
- Dim p As Panel = DirectCast(Me.ComboBox1.SelectedItem, Panel)
- p.Visible = Not p.Visible
- End If
- End Sub
- End Class
Die Unendlichkeit ist weit. Vor allem gegen Ende.
Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. -
-
-
-
DJBasedream schrieb:
Me.Controls.OfType schein was nicht zu passen
Was genau passt nicht? mach mal nen Screenshot vom Fehler. in welcher IDE mit welchem Framework arbeitest du? -
DJBasedream schrieb:
Wie kann ich per combobox panels ein und ausblenden.
genau das macht TabControlOhneReiter -
DJBasedream schrieb:
mit dem Me.Controls.OfType schein was nicht zu passen das wird mir blau unterstrichen angezeigt
die meldung ist das das oftype keine memeber von windows form controls irgent was währe.
Da versucht man Dir ernsthaft zu helfen und Du rotzt so ne Antwort hin. Dann auch noch mit einer tollen Fehlerbeschreibung Deinerseits.
Wie wärs mal, wenn Du einen Verweis auf Linq in Deinem Projekt setzt, schon würds gehen.Die Unendlichkeit ist weit. Vor allem gegen Ende.
Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. -
Ja entschuldige, war so nicht gemeint
Ist mir ja selbst blöd das ich vb nicht wirklich kann,. und immer mir versuche meine programm irgent wie zusammen zu werfen mit code suche bei google etc.
nur anders verstehe ich sowas und lerne ich sowas einfach nicht, hab das bei allem so.
Naja wollte halt so das man in der combo box halt die panels zur auswahl hat, nur das sie jeder einen eigenen namen haben, also nicht panel 1 oder panel 2 sondern anders, das hat seinen zweck, und wenn ich dann zb panel 3 auswähle das dann die anderen panels im visible auf false gesetzt wercdne und nur panel 3 eingeblendet wird, genau so zb wenn ich panel 2 wähle, oder panel 4.
Es soll nur halt die combobox sein, weil die für mein projekt am besten passt.
-
Ähnliche Themen
-
3 Benutzer haben hier geschrieben
- Gast (13)
- SpaceyX (7)
- ErfinderDesRades (4)