vb.net - 如何修改与此文本框相关的问题
问题描述
我有此代码将数据库输出链接到列表框,但是,尽管我能够选择每个选项,但文本不可见,就好像文本在白色背景上是白色的一样。我如何修改它以使文本可见?- 谢谢!
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
解决方案
推荐阅读
- python - 在 PyQt 中按下按钮时在屏幕之间移动
- excel - 如何使用 Access VBA 获取在服务器上打开 (Excel) 文件的用户的名称?
- android - 使用 firebaseRecyclerAdapter 时出现静态上下文错误
- c++ - 使用VSCode进行远程调试时如何在launch.json中指定solib-absolute-prefix?
- arduino - 使用树莓派和传感器计算汽车的速度
- c# - 知道消息来自哪个订阅,在相同的视图模型中,相同的类型
- php - JQuery Post返回值包含空格问题
- synchronization - 为除少数几个目录之外的所有目录解决有利于一个根目录的冲突
- android-studio - 如何修复“在Android中发现多个文件与操作系统无关路径'META-INF/DEPENDENCIES'错误
- javascript - 如何持久化在 node_modules 中所做的更改?