以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [下载][分享]Listbox间距调整函数 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=47338) |
|
-- 作者:jnletao -- 发布时间:2014/3/8 13:23:00 -- [下载][分享]Listbox间距调整函数 借花献佛,把有点甜老师 的“加大ListBox间隔的例子” 做成了 函数。有需要的朋友可以用下。 窗口与控件事件
窗口1_AfterLoad
Functions.Execute("ListBoxDraw","窗口1")
自定义函数
ListBoxDraw
\'Args(0) 窗体名 For Each c As WinForm.Control In Forms(Args(0)).Controls If Typeof c Is
WinForm.ListBox Then \'判断控件 Dim cbx As
System.Windows.Forms.ListBox = Forms(Args(0)).Controls(c.name).BaseControl cbx.DrawMode
= System.Windows.Forms.DrawMode.OwnerDrawFixed cbx.ItemHeight
= 20 AddHandler
cbx.DrawItem, AddressOf BoxList_DrawItem End If Next
全局代码
Public Sub BoxList_DrawItem(sender As object, e As
System.Windows.Forms.DrawItemEventArgs)
\'重绘列表控件行间距 If e.Index <
0 Then Return e.DrawBackground()
e.DrawFocusRectangle()
e.Graphics.DrawString(sender.Items(e.Index).ToString(), e.Font, new
SolidBrush(e.ForeColor), e.Bounds.X, e.Bounds.Y + 3) End Sub
|
|
-- 作者:blackzhu -- 发布时间:2014/3/8 13:30:00 -- 收藏 |
|
-- 作者:lsy -- 发布时间:2014/3/8 14:16:00 -- 好人好事,顶。 |
|
-- 作者:jnletao -- 发布时间:2014/3/8 15:34:00 --
|
|
-- 作者:xiaoohoo -- 发布时间:2014/3/8 15:55:00 -- ‘交替行变色 e.Graphics.FillRectangle(IIf(e.Index Mod 2, Brushes.LightCyan, Brushes.LightBlue), e.Bounds)
[此贴子已经被作者于2014-3-8 15:58:26编辑过]
|
|
-- 作者:jnletao -- 发布时间:2014/3/8 16:07:00 -- 以下是引用xiaoohoo在2014-3-8 15:55:00的发言: ‘交替行变色 e.Graphics.FillRectangle(IIf(e.Index Mod 2, Brushes.LightCyan, Brushes.LightBlue), e.Bounds)
[此贴子已经被作者于2014-3-8 15:58:26编辑过]
成功了, |
|
-- 作者:jnletao -- 发布时间:2014/3/8 16:08:00 -- 全局代码 Public Sub BoxList_DrawItem(sender As object, e As System.Windows.Forms.DrawItemEventArgs) \'重绘列表控件行间距 If e.Index < 0 Then Return e.DrawBackground() Dim myBrush As Brush = Brushes.Black If e.Index Mod 2 = 0 Then myBrush = Brushes.Red ‘文字变色 Else myBrush = Brushes.Purple End If e.DrawFocusRectangle() e.Graphics.FillRectangle(IIf(e.Index Mod 2, Brushes.LightCyan, Brushes.LightBlue), e.Bounds) ’交替行变色 \' e.Graphics.DrawString(sender.Items(e.Index).ToString(), e.Font, new SolidBrush(e.ForeColor), e.Bounds.X, e.Bounds.Y + 3) e.Graphics.DrawString(sender.Items(e.Index).ToString(), e.Font,myBrush, e.Bounds.X, e.Bounds.Y + 3) End Sub |
|
-- 作者:逛逛 -- 发布时间:2014/3/8 19:21:00 -- 来个头球,俺顶。 |
|
-- 作者:ericsky -- 发布时间:2014/3/8 19:54:00 -- 谢谢分享! |