送分题目。关于父子窗体的设置!!!

shanying_0 2008-09-18 04:56:55
我有这么个需求:

有2个窗体,一主(大)一从(小),要求显示的时候小窗体在大窗体里边。用鼠标拖动小窗体。但是要求不允许小窗体拖到大窗体外边。

我是这么做的。小窗体.owner=大窗体。但是小窗体依然可以被拖出大窗体。问有无方法使得小窗体拖不出大窗口。
还有就是我要求程序一启动就显示大小窗体。问一下。在大窗口程序的什么部位构造小窗体最好。是在load?还是在show?还是在其他的时候最好!!!
...全文
183 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
edison0703 2008-09-18
  • 打赏
  • 举报
回复
创建MDI的步骤和简单
首先,你把你需要设置为父窗体的窗体IsMDIContainer属性设置为True。
然后,
父窗体要打开子窗体的单击事件中
{
子窗体Name 对象 = new 子窗体Name();
对象.MdiParent = this;
对象.show();
}

「已注销」 2008-09-18
  • 打赏
  • 举报
回复
判断小窗体与大窗体的相对位置,

当小窗体移动时,写代码控制移动范围

小窗体最好在大窗体的load里加载,这样好传参
TuanLiu 2008-09-18
  • 打赏
  • 举报
回复
就是在主窗体上加个Label后用MDIparent啊~
酒浪子 2008-09-18
  • 打赏
  • 举报
回复
将主(大)窗体的IsMdicatainer设为True, 在实例化从(小)的窗体时,将从窗体的MdiParent属性设为this就行了.
shanying_0 2008-09-18
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 wxz280973534 的回复:]
主窗体是Form1,子窗体是Form2
可以这样实现,
Form2 from2=new form2();
from2.TopLevel = false;
from2.Visible = true;
this.Controls.Add(form2);
[/Quote]

这个方法也可以。但是我不太明白这个是什么意思???根据什么原理来考虑的。有知道的给解答一下。小弟谢谢了!!!
shanying_0 2008-09-18
  • 打赏
  • 举报
回复
我是在主窗体上进行的很多绘图工作。很多。。。
不想在弄到panel上。在说在panel上有些也不好控制
lhy011 2008-09-18
  • 打赏
  • 举报
回复
mark
ZengHD 2008-09-18
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 shanying_0 的回复:]
有没有不+panel的方法么。楼上的大哥。你的方法我尝试过了。确实可以!!我想要一个不需要panel的方法
[/Quote]

加个Panel会有什么问题呢?
wxz280973534 2008-09-18
  • 打赏
  • 举报
回复
主窗体是Form1,子窗体是Form2
可以这样实现,
Form2 from2=new form2();
from2.TopLevel = false;
from2.Visible = true;
this.Controls.Add(form2);
shanying_0 2008-09-18
  • 打赏
  • 举报
回复
还有就是实现我要求的就只有mdi么。还有其他的方式么?
shanying_0 2008-09-18
  • 打赏
  • 举报
回复
有没有不+panel的方法么。楼上的大哥。你的方法我尝试过了。确实可以!!我想要一个不需要panel的方法
ZengHD 2008-09-18
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 shanying_0 的回复:]
还有个问题。是用MDIparent的。但是小窗口拖动到边框以外的时候。窗体出现滚动条了。如何是他没有滚动条。首先我已经设置了autoscollbar=false 了。但是他移动到外边的时候还是出现了。有什么方法让他不出现滚动条么?
[/Quote]
在主窗口里加一个Panel,把Panel的Dock设置为Full,然后这样加开子窗体

            Form2 frm = new Form2();
frm.MdiParent = this;
frm.Parent = panel1;
frm.Show();
shanying_0 2008-09-18
  • 打赏
  • 举报
回复
还有个问题。是用MDIparent的。但是小窗口拖动到边框以外的时候。窗体出现滚动条了。如何是他没有滚动条。首先我已经设置了autoscollbar=false 了。但是他移动到外边的时候还是出现了。有什么方法让他不出现滚动条么?
smx717616 2008-09-18
  • 打赏
  • 举报
回复
form1.MDIparent=form2
ZengHD 2008-09-18
  • 打赏
  • 举报
回复
MDI窗体,肯定出不了父窗口
yzyl_213 2008-09-18
  • 打赏
  • 举报
回复
LOAD好~

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧