Wie fügt man Eigenschaften dem Eigenschaftsfenster hinzu?

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von ichduersie.

    Wie fügt man Eigenschaften dem Eigenschaftsfenster hinzu?

    Hallo,

    ich arbeite derzeit an einer DLL, welche das Office-2010-Design auf WinForms ermöglichen soll. Soweit - sogut. Jetzt meine Frage: Wie kann man dem Eigenschaftsfenster Eigenschaften und Events hinzufügen. Ich weiß, dass man über den Quellcode eine Property mit Get und Set einfügt, die ist dann aber nicht in den Eigenschaften.

    Außerdem, wie kann ich eigene Events definieren?

    LG

    ides

    ichduersie schrieb:

    die ist dann aber nicht in den Eigenschaften.

    Komisch. Erbt jene Klasse von Control? Wenn ja, ​BrowsableAttribute setzen.

    Events müssten in VB mit ​Public Custom Event gehen.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

    ichduersie schrieb:

    wie kann ich eigene Events definieren?
    So:

    VB.NET-Quellcode

    1. Public Class MyParentClass
    2. Private WithEvents ccc As New MyNewClass
    3. Private Sub abc(sender As Object, e As MyEventArgs) Handles ccc.MyEvent
    4. End Sub
    5. End Class
    6. Public Class MyNewClass
    7. Public Event MyEvent(sender As Object, e As MyEventArgs)
    8. Private Sub xxx()
    9. RaiseEvent MyEvent(Me, New MyEventArgs(42))
    10. End Sub
    11. End Class
    12. Public Class MyEventArgs
    13. Inherits EventArgs
    14. Public Property MyProperty As Integer
    15. Public Sub New(prop As Integer)
    16. Me.MyProperty = prop
    17. End Sub
    18. End Class

    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Über der Property ​<BrowsableAttribute(True)>
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

    ichduersie schrieb:

    MyEventArgs
    Dort kannst Du die Daten reinpacken, die der Event-Sender an den Event-Empfänger übertragen soll, analog zu MouseEventArgs, wo die Mauskoordinaten und die gedrückte Maus-Taste drin sind.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    OK. Die Eigenschaft ist jetzt als ​Browsable markiert, bloß kenne ich mich eigentlich nicht so richtig mit den Eigenschaften aus. Also mit Get und Set kann ich umgehen, aber wie kann man die Eigenschaft so einrichten, dass man im Eigenschaftsfenster den Wert per Combobox auswählen kann?

    Ich arbeite derzeit an einer DLL, welche Controls im Office 2010 Style enthält. Und auf der Form möchte ich eben, dass man auswählen kann, ob der Style jetzt Schwarz, Blau oder Silber sein soll. Wie kann man so etwas realisieren?

    ichduersie schrieb:

    aber wie kann man die Eigenschaft so einrichten, dass man im Eigenschaftsfenster den Wert per Combobox auswählen kann?

    Auweia, Dir fehlt da dann anscheinend noch einiges an Grundlagen, was Datentypen, Methoden, Properties, Events, Klassen, Strukturen, Enumerationen etc. angeht.

    ichduersie schrieb:

    Wie kann man so etwas realisieren?

    Jo, das musst Du dann wie ich gerade erwähnt habe mit nem Enum machen.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

    Trade schrieb:

    Dir fehlt da dann anscheinend noch einiges an Grundlagen, was Datentypen, Methoden, Properties, Events, Klassen, Strukturen, Enumerationen etc. angeht.

    Also ich weiß jetzt natürlich nicht, wie groß das Defizit ist, denn ich weiß nicht direkt was man bspw. mit Datentypen noch machen kann, außer deklarieren, Werte zuweisen und in Arrays zu sammeln... Und bspw. auch mit Strukturen kann ich umgehen, und weiß, was es ist. Bloß Enumerations habe ich mir noch nie angeschaut, da ich sie noch nie benötigte. Aber glücklicherweiße gibt es ja das MSDN: http://msdn.microsoft.com/de-de/library/system.enum(v=vs.110).aspx

    Edit: Das mit dem Datentypen in Arrays sammenln ist blöd ausgedrückt!