eigener Button mit eigenem Text

  • VB.NET

Es gibt 17 Antworten in diesem Thema. Der letzte Beitrag () ist von Hicki.

    eigener Button mit eigenem Text

    Hi,

    ich habe mir einen eigenen Button erstellt und möchte auch, dass der Button einen eigenen Namen hat(zB. <Test>). Wie stelle ich das an?

    Gruß Andreas

    VB.NET-Quellcode

    1. Public Class Button_rund5
    2. Inherits windows.forms.button
    3. Public Sub New()
    4. Me.size = New System.Drawing.Point(40, 40)
    5. Me.FlatStyle = Windows.Forms.FlatStyle.Flat
    6. Me.flatappearance.BorderSize = 0
    7. Me.flatappearance.Bordercolor = System.Drawing.Color.Gray
    8. Me.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Transparent
    9. Me.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Transparent
    10. Me.backcolor = System.Drawing.Color.Transparent
    11. Me.BackgroundImage = My.Resources.nicht_gedrückt
    12. Me.BackgroundImageLayout = Windows.Forms.ImageLayout.Stretch
    13. Me.Font = New System.Drawing.Font("Tahoma", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
    14. End Sub
    15. Private Sub windowsbutton_mousedown(ByVal sender As Object, ByVal e As System.windows.forms.mouseeventargs) Handles Me.mousedown
    16. Me.BackgroundImage = My.Resources.gedrückt_neu
    17. End Sub
    18. Private Sub windowsbutton_mouseenter(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.mouseenter
    19. Me.BackgroundImage = My.Resources.über_neu
    20. End Sub
    21. Private Sub windowsbutton_mouseleave(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.mouseleave
    22. Me.backgroundimage = My.Resources.nicht_gedrückt
    23. End Sub
    24. Private Sub windowsbutton_mouseup(ByVal sender As Object, ByVal e As System.windows.forms.mouseeventargs) Handles Me.mouseup
    25. Me.BackgroundImage = My.Resources.über_neu
    26. End Sub
    27. End Class
    Oder meinst du das "Me.Name" auch auf den Button gemalt wird ?

    Wenn ja, dann brauchst du einen Paint-EnventHandler und malst mit e.Graphics.DrawString() deinen Text.
    »There's no need to "teach" atheism. It's the natural result of education without indoctrination.« — Ricky Gervais

    ThePlexian schrieb:

    Oder meinst du das "Me.Name" auch auf den Button gemalt wird ?

    Wenn ja, dann brauchst du einen Paint-EnventHandler und malst mit e.Graphics.DrawString() deinen Text.


    Genau das meine ich. Mit dem Paint-EnventHandler geht doch in einer Klasse nicht, oder?

    Gruß Andreas

    Hicki schrieb:

    Genau das meine ich.
    Glaube ich nicht.
    Mach ein Form mit Button, Button1.Name ist der Name, unter dem der Button in der Controls-Collection abgelegt ist.
    Button1.Text ist das, was in der GUI angezeigt wird. Da brauchst Du kein Paint-Event.
    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!

    sonne75 schrieb:

    Schriftart und Farbe
    hat der Button on Board.
    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!

    sonne75 schrieb:

    Und warum passt dir die Antwort von @VB1963: nicht?

    Willst du den Namen (vom Control) oder den Text (was der User sieht) festlegen?

    VB.NET-Quellcode

    1. Me.Text="Test"


    weil das nicht funktioniert. Name wird nicht angezeigt.



    VB.NET-Quellcode

    1. Public Class Button_rund5
    2. Inherits windows.forms.button
    3. Public Sub New()
    4. Me.size = New System.Drawing.Point(40, 40)
    5. Me.FlatStyle = Windows.Forms.FlatStyle.Flat
    6. Me.flatappearance.BorderSize = 0
    7. Me.flatappearance.Bordercolor = System.Drawing.Color.Gray
    8. Me.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Transparent
    9. Me.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Transparent
    10. Me.backcolor = System.Drawing.Color.Transparent
    11. Me.BackgroundImage = My.Resources.nicht_gedrückt
    12. Me.BackgroundImageLayout = Windows.Forms.ImageLayout.Stretch
    13. Me.Font = New System.Drawing.Font("Tahoma", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
    14. Me.Text = "TEST"
    15. End Sub
    16. Private Sub windowsbutton_mousedown(ByVal sender As Object, ByVal e As System.windows.forms.mouseeventargs) Handles Me.mousedown
    17. Me.BackgroundImage = My.Resources.gedrückt_neu
    18. End Sub
    19. Private Sub windowsbutton_mouseenter(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.mouseenter
    20. Me.BackgroundImage = My.Resources.über_neu
    21. End Sub
    22. Private Sub windowsbutton_mouseleave(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.mouseleave
    23. Me.backgroundimage = My.Resources.nicht_gedrückt
    24. End Sub
    25. Private Sub windowsbutton_mouseup(ByVal sender As Object, ByVal e As System.windows.forms.mouseeventargs) Handles Me.mouseup
    26. Me.BackgroundImage = My.Resources.über_neu
    27. End Sub
    28. End Class

    Hicki schrieb:

    Ich möchte es so haben
    Der angezeigte Text, der initial mit dem Namen übereinstimmt, wird im Designer vom Studio vorgegeben, da kannst Du auch mit einem User-defined-Button nix dran ändern.
    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!