MDI窗体难题
为了设置界面,在主窗体中加一个Panel控件。
当打开MDI子窗体时,会完全被这个Panel挡住,如果将MDI子窗体BringToFront,那Panel就不显示了。如果打开窗体时将Panel隐藏,那界面就比较难看了。
如果打开方式改为从属窗体时,虽然可以显示,但是子窗体最大化时会完全遮挡住父窗体,并且不能合为一体。
如果将子窗体的Parent设为父窗体中的Panel时也可以显示,但这时文本框的内容就无法使用鼠标进行任意选择了。
用ShowDialog方式打开,尽管没有上述的这些问题,但我的软件是需要多窗体的。
请教各位有没有好的解决办法?
要嫌分数少,我可以再加,只要能有比较完美解决办法就行。
[解决办法]
没清楚具体需求是什么,一下子全挡了,一下子没挡
[解决办法]
進來學習下。
[解决办法]
進來學習下。
[解决办法]
如果只是简单的设置一下背景色,可以通过在OnLoad来设置:
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
foreach (Control ctr in this.Controls)
{
MdiClient mc = ctr as MdiClient;
if (mc != null)
{
mc.BackgroundImage = Image.FromFile(@"D:\Documents\图片\01.gif");
}
}
}
[解决办法]
你添加的主窗体是不是MDI父级窗体?如果是的话应该没有你说的问题的呀!
[解决办法]
如果你不需要同时访问pan和子窗口,直接设pan的visible=false
如果要同时访问pan和子窗口,那pan 的dock设left和子窗口并排
[解决办法]
只能帮你顶了
[解决办法]
啥图都看不到哦,楼主结贴吧,
[解决办法]
帮你顶
[解决办法]
设置Panel的Dock为Left即可.
也不知能不能满足楼主的要求.如果不能满足.再加上http://blog.csdn.net/cocosoft/archive/2004/04/12/19139.aspx
用设置为底层的窗口为背景.
[解决办法]
lz可以试试设置Mainfrm的背景图片代替右边的第三方控件显示的图片
[解决办法]
楼主做的东西真不错
[解决办法]
To LZ:
namespace XXXX{ public partial class FrmModule : DockContent//窗体继承此类 { }}namespace XXXX{ public partial class FrmMain : Form { private WeifenLuo.WinFormsUI.Docking.DockPanel dockPanel; private void InitializeComponent() { this.dockPanel.ActiveAutoHideContent = null; this.dockPanel.Dock = System.Windows.Forms.DockStyle.Fill; this.dockPanel.Name = "dockPanel"; //..省略 } private void Button1_Click(object sender,EventArgs e) { FrmModule fm= new FrmModule(); fm.Show(this.dockPanel,DockState.Left);//DockState.DockContent等等 } }}
[解决办法]
我有个方法不知道行不行:把右面空白的地方加一个Panle,把要显示的窗体的Controls加到这个Panle里.
[解决办法]
学习!~
[解决办法]
学习,顶一下
[解决办法]
你做一个组件性质的窗体,然后就可以加入到窗体容器中,很容易的
[解决办法]
学习!~
[解决办法]
不知道LZ系统的速度怎么样?打开/关闭窗口啥的,会不会很慢.
[解决办法]
学习,帮顶下!
[解决办法]
友情UP一下
[解决办法]
对lz的软件皮肤感兴趣,不知道是如何实现的呢?
[解决办法]
请问一下楼主,你的父窗口的背景图片是怎么处理成自动拉伸的?
我也是用你一样的代码添加的背景图片,但是只能平铺.郁闷好久了.......
[解决办法]
jf可以吗
[解决办法]
楼主说的是不可能实现的.除百你不用MDI.因主窗体是其它窗体的容器.容器里的东西.不能反过来装这个容器.前几天同样的问题.