MenüStrip Backgroundimage dauerhaft sichtbar machen

  • VB.NET

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

    MenüStrip Backgroundimage dauerhaft sichtbar machen

    Moin,

    hoffe hier kann mir geholfen werden - konnte durch Google und die Forensuche nichts über mein derzeitiges Problem finden....

    Zum Problem:
    Ich möchte das in dem Menüstrip das Hintergrundbild dauerhaft sichtbar bleibt, auch wenn ich mit dem Cursor auf das Feld gehe.





    Andere Möglichkeit wäre einfach normalen Text zu nehmen und das Herstellerlogo als Icon hinzufügen - aber finde ersteres ästhetischer

    mfg und danke im voraus ;)
    Ich hab sowas noch nicht versucht aber der Logic nach müsstest du entweder im .paint-Event das Logo per Hand drüber malen oder wenn es verfügbar ist wäre eine "selectedbackgroundimage" hilfreich.
    There is no CLOUD - just other people's computers

    Q: Why do JAVA developers wear glasses?
    A: Because they can't C#

    Daily prayer:
    "Dear Lord, grand me the strength not to kill any stupid people today and please grant me the ability to punch them in the face over standard TCP/IP."
    @Montemgo Willkommen im Forum. :thumbup:
    Kannst Du mal den Code posten, der Dein Erscheinungsbild realisiert (ggf. die FormX.Designer.vb)?
    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!
    Sorry für die späte Antwort - habe den Code nur auf der Arbeit.

    Schamash schrieb:

    müsstest du entweder im .paint-Event das Logo per Hand drüber malen

    Okay, habe bisher noch nicht mit dem paint event gearbeitet, muss mich da erstmal etwas einlesen.
    Und zu selectedbackgroundimage habe ich nichts gefunden.

    @Montemgo Willkommen im Forum.

    Danke, danke ^^

    Kannst Du mal den Code posten, der Dein Erscheinungsbild realisiert (ggf. die FormX.Designer.vb)?


    Quellcode

    1. '
    2. 'KonicaMinoltaToolStripMenuItem
    3. '
    4. Me.KonicaMinoltaToolStripMenuItem.BackColor = System.Drawing.Color.Transparent
    5. resources.ApplyResources(Me.KonicaMinoltaToolStripMenuItem, "KonicaMinoltaToolStripMenuItem")
    6. Me.KonicaMinoltaToolStripMenuItem.ForeColor = System.Drawing.Color.Transparent
    7. Me.KonicaMinoltaToolStripMenuItem.Name = "KonicaMinoltaToolStripMenuItem"
    8. '
    9. 'KyoceraToolStripMenuItem
    10. '
    11. Me.KyoceraToolStripMenuItem.BackColor = System.Drawing.Color.Transparent
    12. resources.ApplyResources(Me.KyoceraToolStripMenuItem, "KyoceraToolStripMenuItem")
    13. Me.KyoceraToolStripMenuItem.Name = "KyoceraToolStripMenuItem"
    14. '
    15. 'BrotherToolStripMenuItem
    16. '
    17. Me.BrotherToolStripMenuItem.BackColor = System.Drawing.Color.Transparent
    18. resources.ApplyResources(Me.BrotherToolStripMenuItem, "BrotherToolStripMenuItem")
    19. Me.BrotherToolStripMenuItem.Name = "BrotherToolStripMenuItem"

    @Montemgo Jou, es sieht aus, als ginge das nur mit Ownerdraw. gugst Du hier.
    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!
    @Montemgo Try this:

    VB.NET-Quellcode

    1. Public Class MyToolStripMenuItem
    2. Inherits ToolStripMenuItem
    3. Protected Overrides Sub OnPaint(e As PaintEventArgs)
    4. MyBase.OnPaint(e)
    5. If Me.Selected AndAlso Me.BackgroundImage IsNot Nothing Then
    6. e.Graphics.DrawImage(Me.BackgroundImage, New Point(0, 0))
    7. End If
    8. End Sub
    9. 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!
    @Montemgo Du musst eine neue Klasse namens MyToolStripMenuItem erstellen, obigen Code einfügen, compilieren,
    in der FormX.Designer.vb System.Windows.Form.ToolStripMenuItem durch MyToolStripMenuItem ersetzen. Feddich.
    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!