以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 垂直平铺或者水平平铺实现 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=96556) |
||||
-- 作者:k931931 -- 发布时间:2017/2/23 10:36:00 -- 垂直平铺或者水平平铺实现 老师你好,上次你给我推荐了一个好例子,但是我把代码导出来后,代码看得迷迷糊糊,不知道 如何利用其中的部门代码来完善自己垂直平铺和水平平铺的功能,我知道这个问题解答起来可能比较 繁琐,我在论坛里面也查找了很多人的留言,涉及到全局代码,还是有部门狐友不知道怎么运用这个代码, 如图附件所示,如何实现点击商品信息把这个窗口垂直平铺或者水平平铺,列一下步骤可以吗?非常感谢。
http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=16371&skin=0 项目事件
AfterOpenProject
BaseMainform.IsMdiContainer
= True BaseMainForm.Controls("MainPages").Visible
= False
计划管理
表事件
窗口表事件
窗口与控件事件
订单管理_AfterLoad
AddHandler
e.Form.BaseForm.Load,AddressOf Form_Load
客户管理_AfterLoad
AddHandler
e.Form.BaseForm.Load,AddressOf Form_Load
库存管理_AfterLoad
AddHandler
e.Form.BaseForm.Load,AddressOf Form_Load
料品管理_AfterLoad
AddHandler
e.Form.BaseForm.Load,AddressOf Form_Load
人事管理_AfterLoad
AddHandler
e.Form.BaseForm.Load,AddressOf Form_Load
人事管理_Button2_Click
Dim Proc As new
Process Proc.File =
"tencent://message/?uin=447502105" Proc.Start
系统导航_Click
Forms(e.Sender.Name).Open Forms(e.Sender.Name).BaseForm.MdiParent
= BaseMainform
自定义函数
全局代码
API
Public Sub
Form_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) sender.MdiParent = BaseMainform End Sub
菜单事件
_Click
If e.Sender.Name
Like "??管理" Then Forms(e.Sender.Name).Open Forms(e.Sender.Name).BaseForm.MdiParent =
BaseMainform End If If e.Sender.Name
Like "Window_*" Then
Forms(e.Sender.Name.Replace("Window_","")).BaseForm.Select End If Select Case
e.Sender.Name Case "层叠" BaseMainform.LayoutMdi(Windows.Forms.MdiLayout.Cascade) Case "垂直平铺"
BaseMainform.LayoutMdi(Windows.Forms.MdiLayout.TileVertical) Case "水平平铺"
BaseMainform.LayoutMdi(Windows.Forms.MdiLayout.TileHorizontal) Case "全部关闭" For Each ChildForm As
Windows.Forms.Form In BaseMainform.MdiChildren ChildForm.Close() Next Case Else Return End Select
_DropDown
If e.Sender.Name =
"窗口" Then For i As Integer = e.Sender.Items.Count - 1
To 5 Step -1 e.Sender.Items.RemoveAt(i) Next For Each Frm As WinForm.Form In Forms If Frm.Opened And Frm.FormStyle = 2
Then Dim BtnItem As New
RibbonMenu.ToggleButton("Window_" & Frm.Name) BtnItem.Text = Frm.Name If Frm.BaseForm.Handle =
BaseMainform.ActiveMdiChild.Handle Then BtnItem.Pressed = True e.Sender.Items.Add(BtnItem) End If Next End If
系统功能_关于_联系作者_Click
Dim Proc As new
Process Proc.File =
"tencent://message/?uin=447502105" Proc.Start
|
||||
-- 作者:有点蓝 -- 发布时间:2017/2/23 10:52:00 -- 上传你的项目看看 |
||||
-- 作者:k931931 -- 发布时间:2017/2/23 11:05:00 -- 见笑了,只是做了两个窗口
|
||||
-- 作者:有点色 -- 发布时间:2017/2/23 11:09:00 -- 不理解你的意思,只需要执行这句代码不就好了?
BaseMainform.LayoutMdi(Windows.Forms.MdiLayout.TileHorizontal) |
||||
-- 作者:k931931 -- 发布时间:2017/2/23 11:15:00 -- 我试了,达不到那这种效果,像我上传的图片这样,订单管理把 此主题相关图片如下:1.jpg 整个窗口都铺满了,除了工具栏(类似excel,最大化的时候,也不会覆盖工具栏) |
||||
-- 作者:有点色 -- 发布时间:2017/2/23 11:34:00 -- 不理解你的意思,你需要什么效果? |
||||
-- 作者:k931931 -- 发布时间:2017/2/23 11:44:00 -- 我把这个商品信息窗口(独立窗口而非背景窗口)拉大了,如图所示,把这 此主题相关图片如下:2.jpg 个窗口最大化,但是不能覆盖上面的功能区 [此贴子已经被作者于2017/2/23 11:45:39编辑过]
|
||||
-- 作者:有点色 -- 发布时间:2017/2/23 11:47:00 -- 1、你可以把窗口改成主窗口;
2、用mdi例子的话,就是可以达到你需要的效果的啊。 |
||||
-- 作者:有点蓝 -- 发布时间:2017/2/23 11:49:00 -- 你的项目完全都没有别人例子中的关键代码。
|
||||
-- 作者:k931931 -- 发布时间:2017/2/23 12:24:00 -- 谢谢老师,把你的代码导出来后,容易看明白多了,因为我上传的是一个自己没有修改的代码,每次修改内容我都是复制出来,防止哪里修改错了,不容易找出原因 另外实现时有一个闪屏现象,有办法解决吗?
|