Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 14 von 14

Thema: Klasse wählen deren Titel mit einem String übereinstimmt, aber wie?

  1. #11
    Benni ist offline Benutzer
    Themenstarter
    Registriert seit
    01.09.2011
    Beiträge
    73
    Danke
    6
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi Manuel,
    also so wie du es beschrieben hast ging es nicht, dein Beitrag hat mir dennoch gut geholfen, habe es so realisiert:

    Type Typ = ctl.GetType();
    Typ.GetField("Artikelnummer").SetValue(ctl, Artikelnummer);

    leider habe ich gemerkt, dass es mich so nicht weiter bringt, da ich Anhand der Artikelnummer eine Tabelle mit daten füllen möchte und ich dies in einem Konstruktor mache, ich habe gesehen, dass es noch eine möglichkeit mit GetConstruktor gibt, ich weiß jedoch leider nicht wie ich diese Methode richtig verwenden muss um den Construktor erneut auszuführen...

  2. #12
    Registriert seit
    26.04.2010
    Ort
    Fürth
    Beiträge
    10
    Danke
    1
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Da bin ich jetzt auch etwas überfragt.
    schau am besten mal in der MSDN nach oder bei StackOverflow bzw. CodeProject.
    Dort findet man in der regel immer was.
    Mit freundlichem Gruß

    Manuel König

  3. #13
    Benni ist offline Benutzer
    Themenstarter
    Registriert seit
    01.09.2011
    Beiträge
    73
    Danke
    6
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hey Leute, erstmal euch allen vielen Dank, ihr habt mir sehr geholfen.
    Also ich habe demnach auch nun eine Lösung für mein Problem zurecht gebastelt...
    Für die die es interessiert, hier ist sie:

    ControlCollection Adapterplattensammlung = new ControlCollection(new Form());
    Adapterplattensammlung.Add(new Adapterplatte_MV15());
    Adapterplattensammlung.Add(new Adapterplatte_MV15());
    Adapterplattensammlung.Add(new Adapterplatte_MV15_Siemens());
    Adapterplattensammlung.Add(new Adapterplatte_MV15_Siemens());


    int Prüplattennummer = 1;
    // Zähler um auf die zweite Platte zu wechseln
    foreach (Control ctl in Adapterplattensammlung)
    {
    string Typenbezeichnung = Adapterplatte.Replace(" ", "_");
    //Aus der gewählten Adapterplatte die Leerzeichen löschen damit die Typenbezeichnung des UserControls entsteht
    if (Typenbezeichnung == ctl.GetType().Name)
    {
    Type Typ = ctl.GetType();
    Typ.GetConstructor(new Type[] { typeof(int) }).Invoke(ctl, new object[] { Artikelnummer });
    if (Prüplattennummer == 1)
    panel_Pruefplatte1.Controls.Add(ctl);
    if (Prüplattennummer == 2)
    panel_Pruefplatte2.Controls.Add(ctl);
    Prüplattennummer++;
    }
    }

  4. #14
    Benni ist offline Benutzer
    Themenstarter
    Registriert seit
    01.09.2011
    Beiträge
    73
    Danke
    6
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Guten morgen,
    neues aber vielleicht ähnliches Problem:
    Ich stelle in einem panel 32 Pictureboxen dar, falls einem die Zahl 32 bekannt vor kommt, genau es handelt sich um ein Kartenspiel

    Auf jeden fall will ich es realisieren dass wenn man über die Karte fährt, sich diese etwas anhebt und beim verlassen der Karte sich diese wieder etwas senkt.

    bisher habe ich das so gelöst, dass ich das MouseMove und das MouseLeave event benutze, jedoch dies wird relativ unübersichtlich wenn ich dies für jede einzelne picturebox so mache. Deshalb ist hier meine Frage, ob ich die picturebox bzw. deren Location auch allgemein setzen und abfragen kann?

    Bisher habe ich dies so realisiert:

    private void pictureBox_alle_Karten_erste_Haelfte_1_MouseMove(object sender, MouseEventArgs e)
    {
    pictureBox_alle_Karten_erste_Haelfte_1.Location = new Point(pictureBox_alle_Karten_erste_Haelfte_1.Location.X, y - 9);
    }
    private void pictureBox_alle_Karten_erste_Haelfte_1_MouseLeave(object sender, EventArgs e)
    {
    pictureBox_alle_Karten_erste_Haelfte_1.Location = aktuelle_pos;
    }

    Aber wie gesagt dies für 32 oobjekte bzw. später wieder für 32 andere Objekte zu machen ist relativ aufwändig und Coderaubend...

    Hat mir da jemand eine andere Lösung?
    Zur Not würde ich auch eine neue Klasse (Karte:Picturebox) machen, wenn ich in ihr sagen könnte, MouseMove() und MouseLeave(), bin mir jedoch nicht sicher ob dies überhaupt geht...

Ähnliche Themen

  1. SCL zwei INT aus einem STRING
    Von Uli_87 im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 24.02.2009, 10:33
  2. Antworten: 0
    Letzter Beitrag: 20.11.2008, 11:06
  3. Antworten: 0
    Letzter Beitrag: 11.08.2008, 14:40
  4. String laden und in einem DB Schreiben
    Von free_tv im Forum Simatic
    Antworten: 14
    Letzter Beitrag: 13.05.2006, 16:41
  5. Titel VBA und Libnodave etwas langsam?
    Von lorenz2512 im Forum Hochsprachen - OPC
    Antworten: 3
    Letzter Beitrag: 27.10.2005, 21:43

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •