以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  求助:在窗体创建窗体中,当前已经加入了一个窗体到面板1,然后在面板1中显示的窗体表自定义菜单中又在点了一个其他独立的一个小窗体,有没有办法将这个小窗体限定在红色线框呢 不能移除红色线框呢?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=75512)

--  作者:李孝春
--  发布时间:2015/10/9 19:51:00
--  求助:在窗体创建窗体中,当前已经加入了一个窗体到面板1,然后在面板1中显示的窗体表自定义菜单中又在点了一个其他独立的一个小窗体,有没有办法将这个小窗体限定在红色线框呢 不能移除红色线框呢?

在窗体创建窗体中,当前已经加入了一个窗体到面板1,然后在面板1中显示的窗体表自定义菜单中又在点了一个其他独立的一个小窗体,有没有办法将这个小窗体限定在红色线框呢 不能移除红色线框呢?

 

 


图片点击可在新窗口打开查看此主题相关图片如下:qq拼音截图未命名.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:qq拼音截图未命名1.jpg
图片点击可在新窗口打开查看

窗体加载窗体代码

e.Form.StopRedraw()
 \'动态增加或删除控件的代码

Dim PB As WinForm.Panel = e.Form.Controls("Panel1")
Dim Name As String = e.Sender.Text
Forms(Name).OPEN(-1000,-1000)
Forms(Name).BaseForm.TopLevel = False
Forms(Name).BaseForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
Forms(Name).BaseForm.Dock = System.Windows.Forms.DockStyle.Fill
PB.BaseControl.Controls.Clear
PB.BaseControl.Controls.add(Forms(Name).BaseForm)
e.Form.ResumeRedraw()


--  作者:大红袍
--  发布时间:2015/10/9 20:10:00
--  

1、全局代码

 

<DllImport("user32.dll", EntryPoint := "SetParent")> _
Public Function SetParent(hWndChild As Integer, hWndNewParent As Integer) As Integer
End Function

 

2、调用代码

 

forms("窗口2").open
SetParent(forms("窗口2").Baseform.handle, e.Form.controls("panel1").basecontrol.Handle.ToInt32())


--  作者:大红袍
--  发布时间:2015/10/9 20:21:00
--  
注意,窗口的初始位置属性,要设置成 Manual
--  作者:李孝春
--  发布时间:2015/10/9 20:31:00
--  回复:(大红袍)1、全局代码 <DllImport...

大红袍老师 谢谢了

 

窗体2有没有办法不要显示在面板1之外呢?也就是不管怎么移动窗体2,都在面板1内,不要出现窗体2被部分遮掩的效果


--  作者:大红袍
--  发布时间:2015/10/9 20:44:00
--  
不行
--  作者:李孝春
--  发布时间:2015/10/9 20:52:00
--  回复:(大红袍)注意,窗口的初始位置属性,要设置成...

设置成这个直接不弹出了 哎

直接默认居中显示就可以打开!


--  作者:大红袍
--  发布时间:2015/10/9 20:54:00
--  

根据你的实际情况设置。


--  作者:李孝春
--  发布时间:2015/10/9 21:07:00
--  回复:(大红袍)根据你的实际情况设置。

再次感谢大红袍老师的思路 谢谢!