Hi Ihr,
will mein Proggi verschönern.
Das kann ja wählbare Hintergrundfarben auch für die Menus.
Nun habe ich im Main-Menu eine Textbox die ich mit folgenden Codes transparent schalte:
Starte ich mein Programm, ist keine Textbox in der Menuleiste zu sehen - also wohl transparent
Belege ich aber deren Text-Eigenschaft, wird die Textbox undurchsichtig.
Und ich weiss nicht, warum.
Habe hier vieles über transparente Textboxen gelesen, finde aber meinen Fehler nicht.
Kann mir da vielleicht einer von Euch weiterhelfen?
Schönes Rest-Weekend @all
will mein Proggi verschönern.
Das kann ja wählbare Hintergrundfarben auch für die Menus.
Nun habe ich im Main-Menu eine Textbox die ich mit folgenden Codes transparent schalte:
VB.NET-Quellcode
- ' In Variablen-Deklaration
- ' transparente Textbox
- Private WithEvents TransparenteToolStripTextBox As New TransparentTextBox()
- Public mnu_Mainform_txb_Fensterliste As New ToolStripControlHost(TransparenteToolStripTextBox)
- ' In Load-Handler
- ' transparente Textbox in Menu_Mainform
- TransparenteToolStripTextBox.AutoSize = True
- TransparenteToolStripTextBox.Size = New Size(350, 20)
- TransparenteToolStripTextBox.BackColor = Color.Transparent
- TransparenteToolStripTextBox.TextAlign = HorizontalAlignment.Right
- TransparenteToolStripTextBox.BorderStyle = BorderStyle.None
- TransparenteToolStripTextBox.Name = "mnu_Mainform_txb_Fensterliste"
- mnu_Mainform_txb_Fensterliste.Alignment = ToolStripItemAlignment.Right
- mnu_MainForm.Items.Add(mnu_Mainform_txb_Fensterliste)
- ' Dazu eine Klasse:
- Public Class TransparentTextBox
- Inherits System.Windows.Forms.TextBox
- Public Sub New()
- SetStyle(ControlStyles.SupportsTransparentBackColor, True)
- BackColor = Color.Transparent
- End Sub
- Protected Overrides Sub OnPaintBackground(e As PaintEventArgs)
- MyBase.OnPaintBackground(e)
- Dim b As New SolidBrush(Me.BackColor)
- e.Graphics.FillRectangle(b, Me.ClientRectangle)
- b.Dispose()
- End Sub
- End Class
- ' Beliebige Text-Zuweisung im Programm-Ablauf
- mnu_Mainform_txb_Fensterliste.Text = IO.Path.GetFileNameWithoutExtension(VordergrundFensterOwner) & " | " & VordergrundFensterTitel
- mnu_Mainform_txb_Fensterliste.BackColor = Color.Transparent
Starte ich mein Programm, ist keine Textbox in der Menuleiste zu sehen - also wohl transparent
Belege ich aber deren Text-Eigenschaft, wird die Textbox undurchsichtig.
Und ich weiss nicht, warum.
Habe hier vieles über transparente Textboxen gelesen, finde aber meinen Fehler nicht.
Kann mir da vielleicht einer von Euch weiterhelfen?
Schönes Rest-Weekend @all
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Dideldum“ ()