Foxtable(狐表)用户栏目专家坐堂 → listBox的Item如何居中显示


  共有3042人关注过本帖树形打印复制链接

主题:listBox的Item如何居中显示

帅哥哟,离线,有人找我吗?
nxhylczh
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:335 积分:2674 威望:0 精华:0 注册:2018/11/22 9:19:00
listBox的Item如何居中显示  发帖心情 Post By:2020/8/12 23:30:00 [只看该作者]

如题所示!

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105948 积分:538809 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/8/13 9:35:00 [只看该作者]

没有办法设置

 回到顶部
帅哥哟,离线,有人找我吗?
nxhylczh
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:335 积分:2674 威望:0 精华:0 注册:2018/11/22 9:19:00
  发帖心情 Post By:2020/8/13 10:46:00 [只看该作者]

1、首先设置DrawMode属性为OwnerDrawVariable

2、 增加事件重画ListBox

private void listBox1_DrawItem(object sender, DrawItemEventArgs e)
{
e.DrawBackground();
e.DrawFocusRectangle();
StringFormat strFmt = new System.Drawing.StringFormat();
strFmt.Alignment = StringAlignment.Center; //文本垂直居中
strFmt.LineAlignment = StringAlignment.Center; //文本水平居中
e.Graphics.DrawString(listBox1.Items[e.Index].ToString(), e.Font, new SolidBrush(e.ForeColor), e.Bounds, strFmt);
}


我搜索了百度  说C#能居中,老师可否参考一下,让居中吧!


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105948 积分:538809 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/8/13 11:47:00 [只看该作者]

全局代码:

Public Sub listBox1_DrawItem(ByVal sender As Object, ByVal e As System.Windows.Forms.DrawItemEventArgs)
    e.DrawBackground()
    e.DrawFocusRectangle()
    Dim strFmt As StringFormat = New System.Drawing.StringFormat()
    strFmt.Alignment = StringAlignment.Center
    strFmt.LineAlignment = StringAlignment.Center
    e.Graphics.DrawString(sender.Items(e.Index).ToString(), e.Font, New SolidBrush(e.ForeColor), e.Bounds, strFmt)
End Sub

窗口afterload
Dim lb As WinForm.ListBox = e.Form.Controls("ListBox1")
Dim a As System.Windows.Forms.listBox = lb.basecontrol
AddHandler a.DrawItem, AddressOf listBox1_DrawItem

 回到顶部
帅哥哟,离线,有人找我吗?
nxhylczh
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:335 积分:2674 威望:0 精华:0 注册:2018/11/22 9:19:00
  发帖心情 Post By:2020/8/13 11:59:00 [只看该作者]

实现了,谢谢老师

 回到顶部