以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [建议] 完善精灵 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=172069) |
||||
-- 作者:qq51837000 -- 发布时间:2021/9/22 10:37:00 -- [建议] 完善精灵 此主题相关图片如下:qq图片20210922100948.png 我是小白,学习狐表有一段时间了,觉得软件非常好用。 今天我想做一个如图所示的隐藏/显示侧边的功能,想用停靠的方式覆盖侧边,结果不用会代码,因为精灵中没有停靠这个方法,学习群中大神给的.dock,于是功能实现了,但并不完美,原来需要的是锚定方法,但不好意思再提问了,总不能同一类问题老是一个一个的问吧 >>>所以我想说的是请官方完善精灵,另外在没有完善精灵前象这些在精灵中没有,帮助文件中也搜不到的属性或方法,以及其它语句,我们小白该在哪里能获取呢? 有相同需求的狐友请顶一下,谢谢!!!
[此贴子已经被作者于2021/9/22 10:38:58编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2021/9/22 11:12:00 -- 首先可以在论坛里搜索“dock”、“anchor”这些关键字,搜不到就问吧 |
||||
-- 作者:qq51837000 -- 发布时间:2021/9/23 1:01:00 -- anchor不会用,能说把用法说一下 |
||||
-- 作者:有点蓝 -- 发布时间:2021/9/23 9:05:00 -- 查看微软官方文档,比如 https://docs.microsoft.com/zh-cn/dotnet/api/system.windows.forms.anchorstyles?view=netframework-4.8
|
||||
-- 作者:qq51837000 -- 发布时间:2021/9/24 1:28:00 -- 还是不会,请帮忙补充一下,这段代码在我的项目中很多地方都会用到,谢谢! Dim S As WinForm.SplitContainer = e.Form.Controls("SplitContainer1") If e.Sender.Text = "<" Then s.Dock = 5 \'满窗停靠 e.Sender.Text = ">" Else \'s.Dock = 4 \'不合适,窗口大小变动时会跟着变 \'请帮助写出将SplitContainer1锚定在距左200,其它都靠边的位置 e.Sender.Text = "<" End If
[此贴子已经被作者于2021/9/24 1:29:30编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2021/9/24 8:42:00 -- s.left = 200 s.top = 0 s.width = e.Form.width - 200 s.height = e.Form.height s.Anchor = System.Windows.Forms.AnchorStyles.Left Or System.Windows.Forms.AnchorStyles.Top or System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right
|
||||
-- 作者:qq51837000 -- 发布时间:2021/9/24 15:17:00 -- 此主题相关图片如下:qq图片20210924143452.png 当S满窗停靠后改变了窗口大小,再点击回到锚定状态时就成样了,高度等于原窗口的高度,我在窗口SizeChanged事件中加入代码: Dim S As WinForm.SplitContainer = e.Form.Controls("SplitContainer1") s.height = e.Form.height 也没有用,只是S的高度等于上一次窗口的高度,还是没有贴在边上 [此贴子已经被作者于2021/9/24 15:19:01编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2021/9/24 16:16:00 -- 做个例子发上来测试 |
||||
-- 作者:qq51837000 -- 发布时间:2021/9/24 22:35:00 --
这是我测试的效果:
[此贴子已经被作者于2021/9/24 23:05:13编辑过]
|
||||
-- 作者:z769036165 -- 发布时间:2021/9/25 8:35:00 -- 我都是做左右分区面板把第一个左分区直接隐藏 |