Supportnet Computer Supportnet Games Supportnet Kochen Explipedia
Login: guestBesucher online: 334
Supportnet Computerforum
SUPPORT
Home
Forum
Tipps & Infos
Blitz Angebote
Members
Hilfe
Video

TOP THEMEN
SSD Test
Alles über SSDs

Android Tipps
iPad Tipps
Google Tipps
Windows 8 FAQ
Windows 7 FAQ
E-Mail FAQ
Netzwerk FAQ
Festplatten FAQ
Datenrettung FAQ
Bildbearbeitung FAQ

Top iPhone Apps
Computer Einsteiger
Die 5 besten...
Explipedia
Themen
Direktlinks

Neue Einträge
News einsenden News einschicken
Tipps einsenden Tipp einschicken

SN-LINKS

Suche
Befreundete Seiten
Top Seiten

Supportnet/Forum/Anwendungen(Java,C++...)



Supportnet/Forum/Anwendungen(Java,C++...)
von SabineT. vom 19.05.2017, 10:20 Diese Seite den Supportnet Favoriten hinzufügen  Mißbrauch, Beleidigungen und Blödsinn den Moderatoren melden


Probleme mit Steuerelement checkedListBox

 (147 Hits)

Hallo Zusammen! Mich würde mal folgendes interessieren: ich habe
eine checkListBox, in diese werden über eine Schleife verschiedene
Einträge geschrieben, was auch funktioniert. wie kann ich jetzt
erreichen, wenn ich z.Bsp. bei einem Eintrag das Häkchen setze, dass
dann eine neue Form geöffnet wird und wenn ich den Haken wieder
entferne, diese neue Form geschlossen wird. Es soll nur jeweils ein
Element in dieser checkedListBox ausgewählt werden können, also
kein MultiSelect. Und das Ganze sollte unter C# funktionieren.
Danke schon mal für hilfreiche Vorschläge / Rückmeldungen!
LG Sabine


Antwort schreiben 50 Bonuspunkte

Antworten...
Antwort 1 von computerschrat vom 19.05.2017, 12:44 Mißbrauch, Beleidigungen und Blödsinn den Moderatoren melden

Hallo Sabine,

ich würde die Form zunächst einmal erzeugen, ihre Eigenschaft Visible aber auf false setzen.
Danach prüfen, ob das Häkchen in der checkListBox gesetzt ist und in dem Fall die Form in den Fordergrund brinden (.BringToFront) und sichtbar machen (.Visible=true)

Ist das Häkchen nicht gesetzt, setzt du die Eigenschaft Visible dieser Form wieder auf false und schon ist sie verschwunden.

Gruß
computerschrat


Antwort noch nicht bewertet Als gute Antwort bewerten
Diese Antwort hat mein Problem gelöst
Antwort 2 von SabineT. vom 19.05.2017, 16:00 Mißbrauch, Beleidigungen und Blödsinn den Moderatoren melden

Hallo und danke für die schnelle Antwort. Im Grunde hatte ich mir das
auch so vorgestellt. Mein Problem: ich weiß nicht, wie ich die einzelnen
Einträge abfragen soll.
Bei einer ListBox z.Bsp. kann ich abfragen:
if(ListBoxXX.checked == true)
dann mach das.....
else
dann tu dies
Diese Möglichkeit finde ich bei der checkedListBox einfach nicht.
Ich habe auch noch nie mit einer checkedListBox gearbeitet, ist eben
alles irgendwann das erste Mal :-)


Antwort noch nicht bewertet
Antwort 3 von computerschrat vom 19.05.2017, 17:35 Mißbrauch, Beleidigungen und Blödsinn den Moderatoren melden

Hallo Sabine,

hier ist mal ein Codebeispiel, das die Elemente einer checkedListBox durchgeht:
private void WhatIsChecked_Click(object sender, System.EventArgs e) {
    // Display in a message box all the items that are checked.

    // First show the index and check state of all selected items.
    foreach(int indexChecked in checkedListBox1.CheckedIndices) {
        // The indexChecked variable contains the index of the item.
        MessageBox.Show("Index#: " + indexChecked.ToString() + ", is checked. Checked state is:" +
                        checkedListBox1.GetItemCheckState(indexChecked).ToString() + ".");
    }

    // Next show the object title and check state for each item selected.
    foreach(object itemChecked in checkedListBox1.CheckedItems) {

        // Use the IndexOf method to get the index of an item.
        MessageBox.Show("Item with title: \"" + itemChecked.ToString() + 
                        "\", is checked. Checked state is: " + 
                        checkedListBox1.GetItemCheckState(checkedListBox1.Items.IndexOf(itemChecked)).ToString() + ".");
    }

}


Ich denke, das hilft etwas weiter.
Die Quelle dieses Beispiels findest du hier:
https://msdn.microsoft.com/de-de/library/system.windows.forms.check...

Gruß
computerschrat


Antwort noch nicht bewertet Als gute Antwort bewerten
Diese Antwort hat mein Problem gelöst
Antwort 4 von SabineT. vom 20.05.2017, 10:52 Mißbrauch, Beleidigungen und Blödsinn den Moderatoren melden

Hallo computerschrat,
danke für Deine Mühe. Ich hab's mir mal angesehen, allerdings löst es mein Problem nicht wirklich. Das Auslesen,
welcher Eintrag ist eigentlich nicht interessant. Wichtiger wäre es, mal ein Beispiel zu haben, wo etwas ausgelöst wird,
wenn ein Eintrag mit Häkchen belegt wird bzw. dieser wieder entfernt wird.
Per Code kann ich zwar setzen, dass Index 2 mit bool = true belegt, aber dann erscheint das beim Ausführen auch so.
In meiner checkListBox sollen insgesamt 24 Einträge eingelesen werden, alle nicht markiert und alle ohne Häkchen.
Und wenn ich jetzt der Meinung, ich brauche Infos zu Eintrag 18, dann klicke ich darauf, das Häkchen wird gesetzt und es
wird diese zweite Form angezeit, in welcher dann zusätzliche Infos zum gewählten Eintrag stehen. Und wenn ich das
Häkchen wieder entferne, verschwindet die Form und der Eintrag ist auch nicht mehr markiert - ich könnte das Spielchen
also mit dem nächsten Eintrag wiederholen. Und genau dazu suche ich Infos, wie man so etwas (nicht all zu aufwendig)
programmiert. Ich hab bisher leider noch nichts gefunden, deshalb habe ich eben mal hier versucht.
Also, falls Du noch Ideen hast, lass sie mich bitte wissen, ansonsten vielen lieben Dank für Deine Mühe.
LG Sabine


Antwort noch nicht bewertet
Antwort 5 von computerschrat vom 20.05.2017, 18:29 Mißbrauch, Beleidigungen und Blödsinn den Moderatoren melden

Hallo Sabine,

ich habe den code mal auf die wesentlichen drei Zeilen zusammengestrichen:

        private void checkedListBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            foreach (int indexChecked in checkedListBox1.CheckedIndices)
            {
                indexChecked ist hier der Index des gerade betrachteten selektierten Items
            }
        }
    }


Zum anlegen der Funtion klickst du einfach doppelt auf die checkedListBox im Entwurfsfenster. Immer, wenn sich im Programmablauf der Auswahlzustand in der checkedListBox ändert, wird die Funktion angesprungen. Die foreach-Schleife wird nun für jedes selektierte Element in der ListBox durchlaufen und indexChecked liefert den Index des selektierten Elements. Du kannst damit also eine Liste aller jetzt aktivierten Items anlegen.
Diese Liste vergleichst du mit der bei der letzten Zustandsänderung angelegten Liste. Damit siehst du, welches Item sich geändert hat und aus der aktuellen Liste siehst du den aktuellen Zustand dieses Items.

Gruß
computerschrat


Antwort noch nicht bewertet Als gute Antwort bewerten
Diese Antwort hat mein Problem gelöst




Antwort schreiben
    Bitte einen 'Nickname' wählen.
Nickname:*
    (eMail-Adresse wird nicht veröffentlicht.)
eMail:
Nachricht: Ich möchte bei Antworten benachrichtigt werden.
    Hilfe zur Beitragsformatierung gibts [hier]
                   
Antwort:*
  Die Nutzungsbedingungen habe ich gelesen und akzeptiert.

MACHEN SIE IHRE WEBSITE ATTRAKTIVER
Sie haben eine eigene Website und wollen Ihre Besucher auf den Supportnet-Service aufmerksam machen? Kopieren Sie einfach den Quellcode in Ihre Seite und jeder Besucher Ihrer Seite kann direkt auf die Supportnet-Datenbank zugreifen.

My Supportnet


SUCHE

Gruppen im Forum
Betriebsysteme
Software
Hardware
Netzwerk
Programmierung
Sonstiges

Impressum © 1997-2015 SupportNet
Version: supportware 1.8.230E / 18.10.2010, Startzeit:Mon Jun 26 21:36:45 2017