找回密码
 立即注册

QQ登录

只需一步,快速开始

Neha

高级会员

4

主题

21

帖子

1033

积分

高级会员

积分
1033

活字格认证

最新发帖
Neha
高级会员   /  发表于:2013-11-14 16:19  /   查看:6091  /  回复:8

本帖子中包含更多资源

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

x

8 个回复

倒序浏览
roger.wang
社区贡献组   /  发表于:2013-11-14 19:13:00
沙发
回复 1楼Neha的帖子

没有直接的属性,需要写逻辑代码实现。

原理如下:
1 获得数据的行、列的总长度
2 在窗体show的时候,重新设置Form的Height、Width

截图



代码
  1.     Private Sub AutoSetWidth_Height()
  2.         '调整文字宽度
  3.         Me._flex.AutoSizeCols()
  4.         Me._flex.AutoSizeRows()

  5.         Dim totalHeight As Integer = 10
  6.         For Each item As C1.Win.C1FlexGrid.Row In _flex.Rows
  7.             totalHeight += item.HeightDisplay
  8.         Next

  9.         Dim totalWidth As Integer = 10
  10.         For Each item As C1.Win.C1FlexGrid.Column In _flex.Cols
  11.             totalWidth += item.WidthDisplay
  12.         Next

  13.         Me.Height = totalHeight
  14.         Me.Width = totalWidth
  15.     End Sub
复制代码

本帖子中包含更多资源

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

x
回复 使用道具 举报
Neha
高级会员   /  发表于:2013-11-14 21:35:00
板凳
谢谢,那点击那个加号的时候那个大小怎么跟着变呢
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2013-11-15 14:33:00
地板
回复 3楼Neha的帖子

原理和上面的雷同。

即,捕捉加号 +, -的事件, 再次进行height, width; 然后给Form赋值。

好像是这个事件:AfterCollapse。 你需要试试。
回复 使用道具 举报
Neha
高级会员   /  发表于:2013-11-15 15:32:00
5#
回复 4楼roger.wang的帖子

不行啊,我这里做不到。求代码啊!
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2013-11-15 16:27:00
6#
回复 5楼Neha的帖子

    Private Sub _flex_AfterCollapse(ByVal sender As Object, ByVal e As C1.Win.C1FlexGrid.RowColEventArgs) Handles _flex.AfterCollapse
        AutoSetWidth_Height()
    End Sub

试试这个函数
回复 使用道具 举报
Neha
高级会员   /  发表于:2013-11-16 09:43:00
7#
十分感谢
回复 使用道具 举报
Neha
高级会员   /  发表于:2013-11-16 10:46:00
8#
回复 6楼roger.wang的帖子

点加号的时候会闪一下为什么呢?怎么解决?
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2013-11-18 09:03:00
9#
回复 8楼Neha的帖子

闪的原因:
AfterCollapse事件后,重新设置窗体的width, height导致的。

因为要动态resize窗体,目前无法消除这个副作用。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部