主窗体:
private void FrmMain_Load(object sender, EventArgs e)
{
     this.IsMdiContainer = true;
}主窗体单击事件:
 private void button1_Click(object sender, EventArgs e)
{
    FrmSub FrmSubt = new FrmSub();   //new出子窗体
    FrmSub.MdiParent = this;
    //FrmSub.TopLevel = true;         //这句报错了所以注释
    FrmSub.TopMost = true;
    FrmSub.Opacity = 50;          //这里的透明度不起所用,设计器上直接改也不起作用
    FrmSub.Location = new Point(5, 5);   //定位子窗体在主窗体中弹出的位置
    FrmSub.Show();
    this.panel1.Controls.Add(FrmSub);   //弹出的子窗体添加在主窗体的panel里。
}以上代码有两个问题:
1.主窗体的panel里是个flashRightKey控件作为背景平铺。FrmSub实例化加进panel后,显示在了flashRightKey控件的后面,无法显示在顶层。2.FrmSub子窗体透明完全没用。
以上问题如何解决呢?或者要达到我要的效果,怎么实现呢?
           

解决方案 »

  1.   

    FrmSub.BringToFront 试试能不能到前面来
      

  2.   

    FrmSub.BringToFront();
    FrmSub.Opacity = 0.5;
      

  3.   

    加这个后FrmSub.BringToFront ,闪了一下又被盖住了。
      

  4.   

     FrmSub FrmSubt = new FrmSub(); //new出子窗体
     应该是FrmSubt.BringToFront  不是FrmSub.BringToFront 
      

  5.   

    楼主,用panel嵌套吧,,在另一panel里面加载那个窗体
      

  6.   


    什么意思?没听明白。我的目的就是要把子窗体悬浮在有背景图的父窗体上。不管哪个panel,都是父窗体的。
      

  7.   

    用一个新的panel加载窗体,,在把那个panel放在父窗体的那个panel上面
      

  8.   


    新panel会盖住装有背景图的panel,而且窗体还是不能透明。
      

  9.   


    没用。panel背景色透明后是窗体背景色,还是盖住了图片。