首页 > 解决方案 > 如何修改与此文本框相关的问题

问题描述

我有此代码将数据库输出链接到列表框,但是,尽管我能够选择每个选项,但文本不可见,就好像文本在白色背景上是白色的一样。我如何修改它以使文本可见?- 谢谢!

Private Sub LISTBOXPLAYLIST_DrawItem(sender As Object, e As DrawItemEventArgs) Handles LISTBOXPLAYLIST.DrawItem
    e.DrawBackground()
    Using sf As New StringFormat With {.Alignment = StringAlignment.Near, .LineAlignment = StringAlignment.Far, .Trimming = StringTrimming.EllipsisCharacter}
        Using br As New SolidBrush(Color.Red)
            ForeColor = Color.Black
            With e.Graphics
                If (CType(Me.LISTBOXPLAYLIST.Items.Item(e.Index), Mp3song).Name).ToString.Contains(ChrW(174)) Then
                    If CBool(e.State And DrawItemState.Selected) Then
                        Dim Elements() As String = (CType(Me.LISTBOXPLAYLIST.Items.Item(e.Index), Mp3song).Name)
                        .DrawString(Elements(0), e.Font, Brushes.White, New Rectangle(0, e.Bounds.Y, e.Bounds.Width \ 1, e.Bounds.Height), sf)
                        sf.Alignment = StringAlignment.Far
                        .DrawString(Elements(1), e.Font, Brushes.White, New Rectangle(e.Bounds.Width \ 2, e.Bounds.Y, e.Bounds.Width \ 2, e.Bounds.Height), sf)
                    Else
                        Dim Elements() As String = (CType(Me.LISTBOXPLAYLIST.Items.Item(e.Index), Mp3song).Name)
                        .DrawString(Elements(0), e.Font, br, New Rectangle(0, e.Bounds.Y, e.Bounds.Width, e.Bounds.Height), sf)
                        sf.Alignment = StringAlignment.Far
                        .DrawString(Elements(1), e.Font, br, New Rectangle(e.Bounds.Width \ 2, e.Bounds.Y, e.Bounds.Width \ 2, e.Bounds.Height), sf)
                    End If
                End If
            End With
        End Using
    End Using
End Sub

标签: vb.net

解决方案


推荐阅读