用户
 找回密码
 立即注册

79

主题

171

帖子

2585

积分

金牌会员

Rank: 6Rank: 6

积分
2585
发表于 2019-9-27 22:41:03
form窗体中三个panel(top),pane2(fill),
panel(Bottom),
当用方法控制pane3不显示后,panel2并不全fill,底部会留下一个空白位置




另外我发现,即使是panel3显示后,panel2也不是置顶状态。
分享至 : QQ空间
0 人收藏
使用道具 举报 回复
发表于 2019-9-29 09:30:08
form的layout是否是Absolute,dock属性只有在absolute下生效,还有你说的方法控制又是怎么写的呢?
使用道具 举报 回复 支持 反对
发表于 2019-9-29 09:59:27
Lula.Jin 发表于 2019-9-29 09:30
form的layout是否是Absolute,dock属性只有在absolute下生效,还有你说的方法控制又是怎么写的呢?
...

是在绝对布局,控制方法就是panel visible属性设置
使用道具 举报 回复 支持 反对
发表于 2019-9-29 11:16:16
测试了下,panel1(top),pane2(fill),panel3(Bottom)
panel3不显示后panel有撑满剩余控件的
“当用方法控制pane3不显示后,panel2并不全fill,底部会留下一个空白位置
另外我发现,即使是panel3显示后,panel2也不是置顶状态。”panel2为什么会是置顶呢?不是panel1置顶吗?
还有若是苹果全面屏的话

本帖子中包含更多资源

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

x
使用道具 举报 回复 支持 反对
发表于 2019-9-29 11:19:10
Lula.Jin 发表于 2019-9-29 11:16
测试了下,panel1(top),pane2(fill),panel3(Bottom)
panel3不显示后panel有撑满剩余控件的
“当用方法控制p ...

那我换部手机试试
我说的置顶有点歧义,是指控件在窗体顶层(不是上下左右的上面)
使用道具 举报 回复 支持 反对
发表于 2019-9-29 12:00:48
csfeixia 发表于 2019-9-29 11:19
那我换部手机试试
我说的置顶有点歧义,是指控件在窗体顶层(不是上下左右的上面) ...

为了便于测试,我将背景色设置为红色,底部的panel4设置为黄色背景,
点击方法为:
  panel4.Visible = !panel4.Visible;

结果,当设置为visible=false时,底部显示出了红色背景,由此证明panel3并没有fill


本帖子中包含更多资源

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

x
使用道具 举报 回复 支持 反对
发表于 2019-9-30 14:25:54
确实有问题,目前建议使用相对布局,设置flex属性,或者试试同样也修改panel1中的内容
例如控件1的flex设置1,控件2的flex设置5,这样控件1的高度为form高度的1/6,控件2为5/6
使用道具 举报 回复 支持 反对
发表于 2019-10-1 20:58:33
Lula.Jin 发表于 2019-9-30 14:25
确实有问题,目前建议使用相对布局,设置flex属性,或者试试同样也修改panel1中的内容
例如控件1的flex设置 ...

非常非常非常感谢,让我实现了梦寐以求的一个常用功能,堪称完美
使用道具 举报 回复 支持 反对
发表于 2019-10-1 21:48:30
本帖最后由 csfeixia 于 2019-10-1 22:36 编辑

这个事没想到让我给干成了,看出点名堂来没,哈哈,太爽了不过后面发现还是有瑕疵,比如在没有关闭修改、删除等操作时,直接点击另外的行,虽然可以关闭这个操作区,但是这一行的行高并没有缩回去,这个鼓捣了半天没有找到办法
ps:为什么用这种方式来修改、删除呢,因为这个针对性很强,而且是单行显示,不像侧滑可以把所有行的侧滑菜单拉出来,这个时候操作着急的时候比较容易出错





本帖子中包含更多资源

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

x
使用道具 举报 回复 支持 反对
发表于 2019-10-3 00:09:00
csfeixia 发表于 2019-10-1 21:48
这个事没想到让我给干成了,看出点名堂来没,哈哈,太爽了不过后面发现还是有瑕疵,比如在没有关闭修改、删 ...

今天又找到了一个方法,算是比较友好的解决了这个问题,不过还是有点小问题,不知道如何解决
在测试过程中,发现
比如先点击了第一行,显示了操作菜单,
然后又直接点击了第二行,这个时候第一行的高度并没有缩回原尺寸,这个时候想了一个办法,在调用窗口中用了一个变量,记录下了点击行的id值,然后在调用窗口中循环listviewrow 如果是点击过后的并且没有正常隐藏panel的,就重新设置高度
foreach (ListViewRow r in listView1.Rows)
            {
                string idvalue = ((temp_order_select_relative)r.Control).lbid.BindDataValue.ToString();
                if (sbclickTags.ToString().Contains(idvalue))
                {
                    sbclickTags = sbclickTags.Remove( sbclickTags.ToString().LastIndexOf(idvalue + "&"), idvalue.Length + 1);

                  r.Control.Height = 73;
                 
                }
            
            }

这样,这个问题是解决了,不过最终还是留有尾巴,这些非正常隐藏panel窗口的行,在第二次点击按钮想让他显示时,并不会显示,需要点多一次按钮才可以。。
……
费这么大功夫,有没有价值,我认为是很有价值的,从操作解雇来讲,使用起来比较舒服,简洁
使用道具 举报 回复 支持 反对
发新帖
您需要登录后才可以回帖 登录 | 立即注册