找回密码
 立即注册

QQ登录

只需一步,快速开始

qwe8254

新手上路

1

主题

3

帖子

43

积分

新手上路

积分
43
  • 40

    金币

  • 主题

  • 帖子

最新发帖
qwe8254
新手上路   /  发表于:2011-8-10 14:46  /   查看:5707  /  回复:4
multirow里的checkboxCell默认选中样式是一个打钩的样式,能不能把它设计成默认选中是一个“X”形?

4 个回复

倒序浏览
robert
金牌服务用户   /  发表于:2011-8-10 15:19:00
沙发
能贴张图片看一下你需要的样子吗?
回复 使用道具 举报
qwe8254
新手上路   /  发表于:2011-8-10 15:42:00
板凳

格式:

现在的格式是1.png要求的格式是2.png

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
robert
金牌服务用户   /  发表于:2011-8-10 16:33:00
地板
这个需求需要通过OwnerDraw来实现,首先,需要做两个小图片,一个用来表示值为True时的样子,一个用来表示值为False的时候的样子。
然后处理GcMultiRow的CellPainting事件,重定义CheckBox的画法。如以下代码。
  1. Private checkImage As Image
  2. Private uncheckImage As Image
  3. Private Sub gcMultiRow_CellPainting(sender As Object, e As CellPaintingEventArgs)
  4.         If e.CellName = "CheckBox" Then
  5.                 e.PaintBorder(e.ClipBounds)
  6.                 e.PaintBackground(e.ClipBounds)
  7.                 Dim imageBounds As New Rectangle((e.CellBounds.Left + e.CellBounds.Right - checkImage.Width) / 2, (e.CellBounds.Top + e.CellBounds.Bottom - checkImage.Height) / 2, checkImage.Width, checkImage.Height)
  8.                 If Object.Equals(Me.gcMultiRow(e.RowIndex, e.CellIndex).EditedFormattedValue, True) Then
  9.                         e.Graphics.DrawImage(checkImage, imageBounds)
  10.                 Else
  11.                         e.Graphics.DrawImage(uncheckImage, imageBounds)
  12.                 End If
  13.                 e.Handled = True
  14.         End If
  15. End Sub
复制代码
回复 使用道具 举报
qwe8254
新手上路   /  发表于:2011-8-10 16:37:00
5#
我的想法选中就是用一个“X”来表示,谢谢你的提醒!~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部