Foxtable(狐表)用户栏目专家坐堂 → [求助] 窗口缩放后,如何让原表列宽同比缩放。


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

主题:[求助] 窗口缩放后,如何让原表列宽同比缩放。

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


加好友 发短信
等级:超级版主 帖子:111427 积分:567211 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/20 15:02:00 [显示全部帖子]

行号的宽度

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


加好友 发短信
等级:超级版主 帖子:111427 积分:567211 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/20 15:59:00 [显示全部帖子]

SizeChanged事件


Dim lst As new List(of String)


Dim ct As WinForm.Table = e.Form.Controls("Table1")

Dim t As Table = ct.Table

For Each c As Col In t.Cols

    If c.Visible Then lst.Add(c.Name)

Next


Dim w As Integer = (ct.Width-30) / lst.Count

t.SetColVisibleWidth(String.Join("|" & w & "|",lst.ToArray) & "|" & w)


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


加好友 发短信
等级:超级版主 帖子:111427 积分:567211 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/20 16:27:00 [显示全部帖子]


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


加好友 发短信
等级:超级版主 帖子:111427 积分:567211 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/20 17:27:00 [显示全部帖子]

Dim ct As WinForm.Table = e.Form.Controls("Table1")
Dim t As Table = ct.Table
Dim sum As Double = 0
Dim cnt As Integer  =0
For Each c As Col In t.Cols
    If c.Visible Then
        sum += c.Width
        cnt+=1
    End If
Next
If ct.Width > sum Then
    Dim w As Integer = (ct.Width - sum -30)/cnt
    For Each c As Col In t.Cols
        If c.Visible Then
            c.Width = c.Width + w
        End If
    Next
Else
    Dim w As Integer = (sum - ct.Width + 30)/cnt
    For Each c As Col In t.Cols
        If c.Visible Then
            c.Width = c.Width - w
        End If
    Next
End If

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


加好友 发短信
等级:超级版主 帖子:111427 积分:567211 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/20 22:05:00 [显示全部帖子]

请上传实例测试

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


加好友 发短信
等级:超级版主 帖子:111427 积分:567211 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/21 8:33:00 [显示全部帖子]

截图并上传实例说明具体效果

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


加好友 发短信
等级:超级版主 帖子:111427 积分:567211 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/21 15:38:00 [显示全部帖子]

SizeChanged第一行加一句

If e.Form.width <= 0  Then Return

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


加好友 发短信
等级:超级版主 帖子:111427 积分:567211 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/21 20:17:00 [显示全部帖子]

肯定有意义。最小化最大化就看出来了。

按屏幕等比缩放本来就会有失真,因为实际计算是有小数位的,而宽度只能是整数

 回到顶部