none
ToolStrip bei klick darunter liegendes Objekt an Methode übergeben RRS feed

  • Frage

  • Hallo

    ich möchte in meiner Anwendung über ein ToolStrip aus einer von mehreren Listboxen vorher gefilterte Dateien löschen!

    Da ich nicht für jede der Listboxen ein eigenes Toolstrip erstellen möchte (und gewiss auch nicht muss) möchte ich an die Methode , welche den Löschvorgang ausführt, die Listbox als Parameter (Box) übergeben. Wie kann ich aber dynamisch herausfiltern, welche Listbox der User per Rechtsklick wählte und wie kann ich dieses Objekt übergeben.

    Meine bisherigen versuche mit GetType() sind kläglich gescheitert.

    void cms_Opening(object sender, System.ComponentModel.CancelEventArgs e)
            {
                 Control cmsControl = contextMenuStrip3.SourceControl as Control;            
    
                 if (cmsControl != null)
                {               
                    aktBox = cmsControl.GetType() //Box in variable ?
                }      
                e.Cancel = false;
            }  

    Die Löschmethode sieht so aus:

     internal void deleteSingleFiles(ListBox box)
            {
                if (box.SelectedItems.Count != 0)
                {
                    foreach (string filename in box.SelectedItems)
                    {
                        System.IO.File.Delete(filename);
                    }
                }
                else
                {
                    MessageBox.Show("Keine Datei(en) ausgewählt!");
                }
            }

    Wie kann ich es besser machen?

    Danke


    • Bearbeitet kudlmudl Dienstag, 24. Juni 2014 12:54
    Dienstag, 24. Juni 2014 09:23

Antworten