Abfragen welcher Button gedrückt wurde?



  • Hallo,

    Ich habe mir über einen Array ein paar Buttons bei .NET Forms generiert.
    Nun möchte ich diese natürlich auch Anklicken.
    Da ich aber nicht für jeden erzeugten Button eine Methode schreiben möchte
    wollte ich alle ClickMethoden in eine Packen.

    so sieht das dann bei Click aus:

    this->test[i] = new Button;
    this->test[i]->Click += new System::EventHandler(this, buttonArrayClick);
    

    und meine Methode:

    private: System::Void buttonArrayClick(System::Object*  sender, System::EventArgs *  e)
    			{
    				Button* temp = new Button;
    				temp = sender; //geht natürlich nicht, aber sowas in der art vieleiecht?
    				MessageBox::Show(temp->Name);
    			}
    

    Natürlich könnte ich jetzt immer die Mausposition abfragen und dann Position des Buttons + Länge des Buttons nehmen. Das ist aber nicht gerade toll, auserdem kostet das ein "haufen" Abfragen/Rechenleistung.

    Kann mir da jemand helden?



  • Hänge gerade beim gleichen Problem, also bitte erbahmt euch und helft uns.



  • es funktioniert:

    private: System::Void button_Click(System: bject^  sender, System::EventArgs^  e)
     {
        Button^ myButton = (Button^)sender;
       //z.B myButton->Text = "test";
     }
    
    button1->Click += gcnew System::EventHandler(this, &Form1::button_Click);
    

    so funktioniert es bei Visual Studio 2005



  • und nu musst nur noch rausfinden wo dieser button im array sich befindet - dann kannst du mit den cleanup anfangen {o;


Anmelden zum Antworten