Benutzersteuerelemente II



  • Hallo theta,

    du hast dich hier wohl verlesen: test ist hier ein UserControl (keine Form).

    Und auch hallo derLe0n,
    ich stimme @dot zu: C# ist hier um einiges besser geeignet!



  • Auja, stimmt - hatte wohl Tomaten auf den Augen. 😋

    Edit:
    Jetzt seh ich das Problem:
    in Form1 gibts ein Element testCtrl. Es ist vom Typ UserControl.
    UserControl hat aber KEIN Property (oder Element) mit Namen prolemNr. Denn problemNr ist ein Property von test!
    Also: Benutze test und nicht UserControl in Form1.

    ref class Form1 : public ...
    {
    private:
       //System::Windows::Forms::UserControl^ testCtrl;
       test^ testCtrl;
    };
    


  • ok vielen dank für die hilfe , theta 🙂
    und an die anderen beiden, ich benutze c code und kann nkeine wrapper - klassen erstellen 😉



  • [quote="theta"]

    Anmerkung:
    test::problem muss nicht (= darf in deinem Fall nicht!!) static sein!!! Warum machst Du das???

    weil ich die fehlermeldung bekomme , nur statische datennmember dürfen hier deklariert werden, und mit static klappt das zugreifen auf die Property auch 🙂



  • [quote="derLe0n"]

    theta schrieb:

    Anmerkung:
    test::problem muss nicht (= darf in deinem Fall nicht!!) static sein!!! Warum machst Du das???

    weil ich die fehlermeldung bekomme , nur statische datennmember dürfen hier deklariert werden, und mit static klappt das zugreifen auf die Property auch 🙂

    static macht hier aber kein Sinn und ist falsch.
    Initialisiere Member Variablen im Konstruktor!



  • [quote="theta"]

    derLe0n schrieb:

    theta schrieb:

    Anmerkung:
    test::problem muss nicht (= darf in deinem Fall nicht!!) static sein!!! Warum machst Du das???

    weil ich die fehlermeldung bekomme , nur statische datennmember dürfen hier deklariert werden, und mit static klappt das zugreifen auf die Property auch 🙂

    static macht hier aber kein Sinn und ist falsch.
    Initialisiere Member Variablen im Konstruktor!

    aber global kann ich trotzdem darauf zugreifen ??



  • Sofern Du eine Referenz auf das entsprechende Objekt hast: Ja.

    Mache Dir mal klar was es mit Klassen und Objekten von Klassen auf sich hat!



  • sag mir doch noch mal bitte schnell wie ich jetzt auf die Variable aus dem Konstruktor zugreife !! 🙂



  • ref class Form1 : public ...
    {
    public:
       Form1()
       {
          InitializeComponent();
    
          // Hier im Konstruktor deine Membervariablen initialisieren!
          myValue = 4711;
       }
    
    private:
       int myValue;
    
    public:
       property int MyValue
       {
          int get()
          {
             return myValue;
          }
    
          void set(int value)
          {
             myValue = value;
          }
       }
    };
    


  • ok , soweit alles geklärt 😃
    dankesehr :**



  • jetzt habe ich doch noch eine Frage : wie kann ich aus dem Steruelement auf einer Funktion der Form1.h zugreifen ??

    muss ich die Funktion als public und dann im steuerelement als extern definieren ??



  • Warum willst du auf eine Methode der Form zugreifen?



  • um mittels eines knopfes auf einem steuerelement eine funktion auf der hauptform aufzurufen... z.b. um einen Timer zu starten , der ein neues Steuerelement initialisiert 😉



  • Dafür verwendet man events.


Anmelden zum Antworten