如何让mdi子窗体不能改变大小呢?只随其父窗体大小变化? 如何让mdi子窗体不能改变大小呢?只随其父窗体大小变化?子窗体如何能改变大小,特别不好看.所以我想实现,子窗体就在其父窗体中最大化显示,用户无法改变它的大小,如何实现吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 去这里http://bingning.net/VB/SOURCE/form/index.html参考一下。 在子窗体上放一Timer,在它的Timer事件里限制子窗体的大小.父窗体的Resize事件里关闭Timer然后改变子窗体的大小.然后再打开Timer Private Sub MDIForm_Load() Form1.Width = Me.ScaleWidth Form1.Height = Me.ScaleHeightEnd SubPrivate Sub MDIForm_Resize() Form1.Width = Me.ScaleWidth Form1.Height = Me.ScaleHeightEnd Sub 在设计时,先选择子窗体的 .BorderStyle = 1 ,然后选择 .MinButton = True 。运行时,在父窗体的 Resize() 事件中调整子窗体的大小。 这是不行,因为一个窗体下有可能会有很多子窗体,如果在父窗体的resize事件控制子窗体,应该是不行的,因为这将导致所有子窗体全部load,而有些子窗体此时是不应该load的。 你不可以“登记”一下,哪些 Load 了、哪些 UnLoad 了?只改变已 Load 的子窗体的大小。并且,那些处于最小化状态的窗体还不能直接改变大小呢,你还要先把它的窗体状态改为0,然后改变大小,再恢复到原来的最小化状态。 你要让子窗体大小随父窗体的大小变化而变化,不在父窗体的 Resize() 事件中调整子窗体的大小,还能在哪调整? Chen8013 举杯邀明月 谢谢您的多次回贴指教,但是这样调整后,好象子窗体的界面会死,没有反应了.我再试试.试过几次,子窗体都不可用了. Sub Form_Resize () ' Position the scroll bars: hscroll1.Left = 0 vscroll1.Top = 0 If Picture1.Width > scalewidth Then hscroll1.Top = ScaleHeight - hscroll1.Height Else hscroll1.Top = ScaleHeight End If If Picture1.Height > hscroll1.Top Then vscroll1.Left = scalewidth - vscroll1.Width If Picture1.Width > vscroll1.Left Then hscroll1.Top = ScaleHeight - hscroll1.Height End If Else vscroll1.Left = scalewidth End If hscroll1.Width = scalewidth If hscroll1.Top > 0 then vscroll1.Height=hscroll1.Top ' Set the scroll bar ranges hscroll1.Max = Picture1.Width - vscroll1.Left vscroll1.Max = Picture1.Height - hscroll1.Top hscroll1.SmallChange = Abs(hscroll1.Max \ 16) + 1 hscroll1.LargeChange = Abs(hscroll1.Max \ 4) + 1 vscroll1.SmallChange = Abs(vscroll1.Max \ 16) + 1 vscroll1.LargeChange = Abs(vscroll1.Max \ 4) + 1 hscroll1.ZOrder 0 vscroll1.ZOrder 0 End Sub 所有子窗体一律设置如下属性:ControlBox = FalseWindowState = 2 - Maximized VB 求时间相加 怎么相加...谢谢. 急急急 自动改换输入法问题 VB能否写物流管理软件 大年三十 这些宝贵资料适合入门的朋友学习 !!!!!求助各位大大,关于网络校时的问题 VBA中怎么写ftp代码? VB打开并读取WORD,EXCEL文件的方法,急... 各位大虾:这样把listbox内的数据保存到一个txt文件里;有分拿哟 求一段把get提交参数保存到txt文件的asp代码 请教用vb的webbrowser控件如何提交登陆
父窗体的Resize事件里关闭Timer然后改变子窗体的大小.然后再打开Timer
Form1.Width = Me.ScaleWidth
Form1.Height = Me.ScaleHeight
End SubPrivate Sub MDIForm_Resize()
Form1.Width = Me.ScaleWidth
Form1.Height = Me.ScaleHeight
End Sub
这是不行,因为一个窗体下有可能会有很多子窗体,如果在父窗体的resize事件控制子窗体,应该是不行的,因为这将导致所有子窗体全部load,而有些子窗体此时是不应该load的。
并且,那些处于最小化状态的窗体还不能直接改变大小呢,你还要先把它的窗体状态改为0,然后改变大小,再恢复到原来的最小化状态。
举杯邀明月
谢谢您的多次回贴指教,但是这样调整后,好象子窗体的界面会死,没有反应了.
我再试试.试过几次,子窗体都不可用了.
' Position the scroll bars:
hscroll1.Left = 0
vscroll1.Top = 0
If Picture1.Width > scalewidth Then
hscroll1.Top = ScaleHeight - hscroll1.Height
Else
hscroll1.Top = ScaleHeight
End If
If Picture1.Height > hscroll1.Top Then
vscroll1.Left = scalewidth - vscroll1.Width
If Picture1.Width > vscroll1.Left Then
hscroll1.Top = ScaleHeight - hscroll1.Height
End If
Else
vscroll1.Left = scalewidth
End If
hscroll1.Width = scalewidth
If hscroll1.Top > 0 then vscroll1.Height=hscroll1.Top
' Set the scroll bar ranges
hscroll1.Max = Picture1.Width - vscroll1.Left
vscroll1.Max = Picture1.Height - hscroll1.Top
hscroll1.SmallChange = Abs(hscroll1.Max \ 16) + 1
hscroll1.LargeChange = Abs(hscroll1.Max \ 4) + 1
vscroll1.SmallChange = Abs(vscroll1.Max \ 16) + 1
vscroll1.LargeChange = Abs(vscroll1.Max \ 4) + 1
hscroll1.ZOrder 0
vscroll1.ZOrder 0
End Sub
ControlBox = False
WindowState = 2 - Maximized