Foxtable(狐表)用户栏目专家坐堂 → 调整主窗口、独立窗口控件的边距


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

主题:调整主窗口、独立窗口控件的边距

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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
调整主窗口、独立窗口控件的边距  发帖心情 Post By:2017/8/21 12:57:00 [只看该作者]

老师,
    调整页面窗口中的SplitContainer的分区边距始终不对,劳烦您指导如何用代码调整;
如果是主窗口怎么做,其他窗口如何调整?例子如下,问题标注到了,窗口1的AfterLoad代码



 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:spl宽高.foxdb



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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/21 15:14:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:spl宽高.foxdb


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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2017/8/21 16:28:00 [只看该作者]

老师,

'If e.Form.panel.Visible = True Then  这个去掉可以吗,这句是什么意思呢

我这边放放到自定义函数中,黄色的部分 和例子一样
Dim tab As WinForm.TabControl = args(0)
Dim dr As DataRow = args(1)
Dim e As object=args(2)
e.Form.StopRedraw

Dim dt As DataTable = dr.DataTable
Dim drs As List(of DataRow) = dt.Select("编码规则 like '" & dr("编码规则") & "%' and 编码级次 = '" & dr("编码级次")+1 & "'")
If drs.count > 0 Then
    Dim ctab As WinForm.TabControl
    ctab = tab.Form.CreateControl("tab_" & dr("编码规则"), ControlTypeEnum.tabcontrol)
    ctab.Dock = 5
    'ctab.ShowTabs=False
    Dim panel As WinForm.panel
    panel = tab.Form.CreateControl("pal_" & dr("编码规则"), ControlTypeEnum.panel)
    panel.Dock = 5
    panel.AddControl(ctab)
    For Each cdr As DataRow In drs
        ctab.TabPages.Add(cdr("编码规则"), cdr("编码名称")).Dock = 5
        Functions.Execute("loop2", ctab, cdr,e)
        ctab.TabPages(cdr("编码规则")).Dock = 5
    Next
    tab.TabPages(dr("编码规则")).AddControl(panel)
Else
    'If e.Form.panel.Visible = True Then
    e.Form.TimerEnabled = False

[此贴子已经被作者于2017/8/21 16:31:08编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/21 16:31:00 [只看该作者]

以下是引用blsu33在2017/8/21 16:28:00的发言:
老师,

'If e.Form.panel.Visible = True Then  这个去掉可以吗,这句是什么意思呢

 

可以去掉。目的是为了判断窗口是否已经显示出来。


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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2017/8/21 16:33:00 [只看该作者]

3楼代码执行后,位置还是不对呢

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/21 16:51:00 [只看该作者]

以下是引用blsu33在2017/8/21 16:33:00的发言:
3楼代码执行后,位置还是不对呢

 

位置对不对你自己写代码控制。窗口显示后,width、height等信息,是肯定正确的。


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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2017/8/21 17:01:00 [只看该作者]

老师,
  您给的的确可以实现,宽高都能能调整正确,但是,放到我这边的系统中,就不行了,这可怎么办呢

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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2017/8/21 17:02:00 [只看该作者]

这个我弄了好多天了,位置怎么也调整不对啊,能给远程下吗?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/21 17:08:00 [只看该作者]

以下是引用blsu33在2017/8/21 17:02:00的发言:
这个我弄了好多天了,位置怎么也调整不对啊,能给远程下吗?

 

1、你直接指定数值测试行不行?相乘的比例不是你需要的?

 

2、靠右、靠下,你直接用父容器的宽度或者高度相减得到。

 


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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2017/8/21 17:19:00 [只看该作者]

老师,
MessageBox.Show(S1.Width)
宽度是198

在窗口中宽度就变为1770

而 S1.SplitterDistance 应该是按照1770的宽度计算,却使用198计算

假如直接用固定值,S1.SplitterDistance=400,就直接报错,因为宽度最大为198,

这是何故。



 回到顶部
总数 18 1 2 下一页