Panel的Dock设置了Fill吗?你放picturebox是不是想设置MDI主窗体的背景图片?
如果想设置MDI主窗体的背景图片,大可设置FORM的Image属性。我试过在MDI主窗体上放Panel,然后把DOCK设置为除Fill之外的几个值,都不会出现挡住MDI子窗体的情况。

解决方案 »

  1.   

    谢谢...试了下..不过还是不行.
        我主要是通过背景,要实现一些功能..所有放了个Panle.
      

  2.   

    看看是不是将panle放在最上层了,如果不想放在最上层,你可以选中这个panle,右键,让他置于最底层.这样就可以了.
      

  3.   

    epngllh(秋天的眼睛) ( ) 信誉:100    Blog   加为好友  2007-05-10 22:18:06  得分: 0  
     
       看看是不是将panle放在最上层了,如果不想放在最上层,你可以选中这个panle,右键,让他置于最底层.这样就可以了.
    谢谢...我试过了.单还是没用...SHOW出来的子窗体还是被档着.
      
     
      

  4.   

    我想panel是不会置于子窗体下面的通过背景,要实现一些功能..
    是要实现什么功能呢,可以说详细点吗
      

  5.   

    是这样的.我做的是个工资管理软件.
       我在Panle里放了好多picturebox..通过点击实现如 子窗体的加载啊..什么的.
    但是现在就是那个PANLE挡住了窗体....
      

  6.   

    我能想到的就是,把panel hide掉
      

  7.   

    hide是可以啦..但是再SHOW的时候又挡住了..难道..大家都没碰到过这个问题的呀?
      

  8.   

    直接Visible=false;可是可以不见了,你show的时候也不会出现了,但是你原来的图片就没有了.
      

  9.   

    form1的内容
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;namespace test111
    {
        public partial class Form1 : Form
        {
            public static int tag1=0;
            public Form1()
            {
                InitializeComponent();
            }        private void toolStripButton1_Click(object sender, EventArgs e)
            {
                Form2 f2=new Form2(this.panel1);
                f2.MdiParent = this;
                f2.MdiParent.LayoutMdi(MdiLayout.TileHorizontal);
                f2.Show();
            }        private void panel1_Paint(object sender, PaintEventArgs e)
            {        }       
        }
    }from2的内容
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;namespace test111
    {
        public partial class Form2 : Form
        {
            public int tag = 0;
            public Panel pan1 = null;
            public Form2()
            {
                InitializeComponent();
            }
            public Form2(Panel pan1)
            {
                this.pan1 = pan1;
                InitializeComponent();
            }        private void Form2_Load(object sender, EventArgs e)
            {
                tag++;
                this.pan1.Visible = false;
            }        private void Form2_FormClosed(object sender, FormClosedEventArgs e)
            {
                tag--;
                if (tag == 0)
                {
                    this.pan1.Visible = true;
                }
                
            }
        }
    }
    这样就可以解决有窗口的时候不显示背景,没窗口显示背景
      

  10.   

    就是把父界面panl传给子窗体,然后如果子窗体被load就给一个标识列加1,并不显示背景,如果关闭就给一个标识列减1,如果标识列为0,重新显示背景.
      

  11.   

    在子窗体Show之前,把子窗的TopMost属性设置为ture
      

  12.   

    或者在子窗体Show之后,Panel也Show一下...我记得是可以的.不在家,没有测试过,LZ自己试试吧...
      

  13.   

    在你的MDI主窗體里面有一個mdiClient對象,你可以遍歷所有的控件找到。要設圖片請在這個控件上設置。
      

  14.   

    shinaterry()说的topmost()我试了,不行的.设了最顶层,还是要挡住.无解.