VS2010中怎么让子窗体只能在父窗体中进行最大化和最小化
让子窗体内嵌在父窗体中,只能在父窗体的范围内进行移动,就好像子窗体是父窗体里的一个控件一样,我用的是VB语言编译的。。。。新手,求指教没人答吗。。。。就是让子窗体的移动范...
让子窗体内嵌在父窗体中,只能在父窗体的范围内进行移动,就好像子窗体是父窗体里的一个控件一样,我用的是VB语言编译的。。。。新手,求指教
没人答吗。。。。就是让子窗体的移动范围是在父窗体内,而不是整个WINDOWS屏幕
我要的是方法,或是说,要怎么做才能实现这样的功能,在VS里面没找到设置的地方,也就是说必须要用代码来实现,那代码又该怎么写?在什么事件里写?又怎么让他最大化时完全停靠在父窗体上,就像这样
最小化时可以从父窗体调出来 展开
没人答吗。。。。就是让子窗体的移动范围是在父窗体内,而不是整个WINDOWS屏幕
我要的是方法,或是说,要怎么做才能实现这样的功能,在VS里面没找到设置的地方,也就是说必须要用代码来实现,那代码又该怎么写?在什么事件里写?又怎么让他最大化时完全停靠在父窗体上,就像这样
最小化时可以从父窗体调出来 展开
2个回答
展开全部
把父窗口设为MDI容器就可以了。方法是把form的IsMdiContainer设为真。
子窗口需要在显示之前设置MdiParent 为主窗口,然后show.
public partial class Form1 : Form // 这个窗体的IsMdiContainer已经被设为true了。
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
Form2 f2 = new Form2(); // 开一个子窗口
f2.MdiParent = this; // 设置父窗口为这个窗口。
f2.Show(); // 用show可以显示无模式窗口。
}
}
更多追问追答
追问
我用的是VB语言,不是C#,现在已经解决了
把父窗体的ISMDICONTAINER设为真
dim form as nwe form1 'form为定义名称,form1为子窗体
form.mdiparent=me
form.show()
这样就可以了
但现在遇到一个问题就是怎么让菜单窗体或是说整个程序的主界面在MDI容器中不能最大化和最小化。并要充满整个MDI容器
追答
看你的代码应该是VB.net,和C#是一样的,语法区别而已。
你追问的问题,可以把子窗口的windowstate属性设为Maximized, 然后把MaxmizeBox和MinimizeBox都设为False, 这样就没有放大小缩小按钮了。
还有,可以重写子窗口的Form2_Resize事件,强制把变小的变回最大。
private void Form2_Resize(object sender, EventArgs e)
{
this.WindowState = FormWindowState.Maximized;
}
这样就谁也动不了。vb的原理也一样。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询