读书人

C#窗体透明及顶层显示有关问题

发布时间: 2012-05-13 16:39:43 作者: rapoo

C#窗体透明及顶层显示问题。
主窗体:
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子窗体透明完全没用。


以上问题如何解决呢?或者要达到我要的效果,怎么实现呢?




[解决办法]
FrmSub.BringToFront 试试能不能到前面来
[解决办法]
FrmSub.BringToFront();
FrmSub.Opacity = 0.5;
[解决办法]
用一个新的panel加载窗体,,在把那个panel放在父窗体的那个panel上面
[解决办法]

探讨

引用:

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


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

读书人网 >C#

热点推荐