System::Windows::Forms::Objekt übergeben



  • Hi ihr,

    Ich würde gerne einen Button aus einem Event heraus an eine selbst geschriebene Funktion übergeben, die den Button dann ändert.
    Ich habe es jetzt folgendermaßen probiert:

    private: System::Void btneinstellungenladen_MouseHover(
    System::Object^  sender, System::EventArgs^  e) 
    {
       move(&btneinstellungenladen);
    }
    public: 
    System::Void move(System::Windows::Forms::Button^ btn)
    {
       btn.BackColor = System::Drawing::Color::FromArgb(				 
    static_cast<System::Int32>(static_cast<System::Byte>(100)), 
    static_cast<System::Int32>(static_cast<System::Byte>(100)), 
    static_cast<System::Int32>(static_cast<System::Byte>(0)));
    }
    

    Doch es gibt einen Fehler:

    d:\codes\dx9\3dfenster\3dfenster\Form1.h(1071) : error C2664: 'void My3DFenster::Form1::move(System::Windows::Forms::Button)': Konvertierung des Parameters 1 von 'cli::interior_ptr<Type>' in 'System::Windows::Forms::Button' nicht möglich

    Da ^-Ja einen Zeiger auf ein System-Objekt symbolisiert müsste doch eigentlich alles okay sein, wenn ich einfach das ^-weglasse und eine Referenz übergebe.

    Aber irgendwie klappt das alles nicht- ich bin mal wieder auf eure Hilfe angewiesen 😉

    cya
    David



  • btneinstellungenladen ist doch schon ein System::Windows::Forms::Button^.
    Da kannst Du einfach move(btneinstellungenladen); schreiben.
    Simon


Anmelden zum Antworten