Control verändern, einige Fragen

  • VB.NET

Es gibt 64 Antworten in diesem Thema. Der letzte Beitrag () ist von Pes1899.vb.

    Control verändern, einige Fragen

    Hi,
    ich habe mal versucht ein Control zu verändern, klappt so weit auch ganz gut (Dank CroniaSoft)


    - Nun aber will ich es machen, dass zB der Text bei einem Button immer "" ist, also das man es nicht umstellen kann und es auch nciht im Eigenschaftenfenster angezeigt wird.

    - Und wie funktioniert es, dass man eine neue Eigenschaft hinzufügt und dann etwas passiert wenn man sie ändert. (Zb CheckState mit den Möglichkeiten Checked und UnChecked)

    - Nochwas: Wie kann man dann ein Ereigniss hinzufügen?

    - Und wie kann man bei dem Control dann das Bild in der ToolBox umstellen, wenn ich es selbst gemacht habe?


    Sry für die vielen Fragen, ich hoffe ihr versteht mich und könnt mir helfen und tut es auch :).

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Pes2009.vb“ ()

    für eine Eigene Eigenschaft

    VB.NET-Quellcode

    1. Public Enum NeueEnum as Integer
    2. ' Wert1 = 0
    3. ' Wert2 = 1
    4. End Enum
    5. Public Property Something as NeueEnum

    und fürs Sichtbar und Unsichtbar machen von einer Eigenschaft

    VB.NET-Quellcode

    1. Imports System.ComponentsModel

    und vor deiner Property einfach mal ein < schreiben und gucken
    Get wird ausgelöst wenn die Eigenschaft abgefragt wird
    und sollte ein Return enthalten damit man auch einen Wert kriegt

    das Set wird ausgelöst wenn der Eigenschaft etwas zugewiesen wird (nicht bei ReadOnly)
    dabei solltest du der Private Variable dessen Wert du im Get Returnst die Value im Set übergeben

    VB.NET-Quellcode

    1. Public Enum Kekse as Integer
    2. SchokoKeks = 0
    3. VanilleKupferl = 1
    4. American_Cookie = 2
    5. End Enum
    6. Public Class KeksUser
    7. Private k as Kekse = Kekse.SchokoKeks ' oder = 0
    8. Public Property CurrentKeks() as Kekse
    9. Get
    10. Return k
    11. End Get
    12. Set(ByVal value As Kekse)
    13. If k <> value Then
    14. k = value
    15. MsgBox("CurrentKeks wurde zu " & Cstr(k) & " verändert.")
    16. End If
    17. End Set
    18. End Property
    19. End Class
    Wow schonmal ein fettes Danke, so langsam verstehe ich es. :P

    Aber wie kann man jetzt eine vorhandene Eigenschaft löschen oder unsichtbar machen, so dass man es nicht umstellen kann?

    EDIT: Wie kann ich als Ergebnisse True und False einstellen?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Pes2009.vb“ ()

    Hallo,

    es reicht ja wenn du Integer nimmst und 0 ergibt ja False und 1 True...Boolsche-Enum-Werte sind glaub ich nur in C# möglich oder irre ich mich da?!

    Mfg jvbsl
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    Ich habs^^

    So, dann wären aber noch die anderen Fragen:
    - Nun aber will ich es machen, dass zB der Text bei einem Button immer "" ist, also das man es nicht umstellen kann und es auch nciht im Eigenschaftenfenster angezeigt wird.

    - Und wie kann man bei dem Control dann das Bild in der ToolBox umstellen, wenn ich es selbst gemacht habe?
    Hallo,

    dann machste ein UserControl, das von einem Button erbt bei dem du die Eigenschaft "unsichtbar" machst und benutzt einfach dein userControl...
    bei dem Bild ka...^^

    Mfg jvbsl
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    Hallo,

    nein ich hatte es mir eher so gedacht:

    VB.NET-Quellcode

    1. Public Overrides Property Text() As String
    2. Get
    3. Return ""
    4. End Get
    5. Set(ByVal value As String)
    6. End Set
    7. End Property


    Mfg jvbsl
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---

    VB.NET-Quellcode

    1. ''' <summary>
    2. ''' Property Text ausblenden
    3. ''' </summary>
    4. ''' <remarks></remarks>
    5. Dim lblText As String = "Mein Control"
    6. <Browsable(False), EditorBrowsable(EditorBrowsableState.Never)> _
    7. Public Overrides Property Text() As String
    8. Get
    9. Return lblText
    10. End Get
    11. Set(ByVal value As String)
    12. lblText = value
    13. End Set
    14. End Property


    Damit blendest du die Property aus.