主窗体弹出子窗体,子窗体属性Opacity设为50%。如果:
Form2 frmsub= new Form2(this);
frmsub.Show();
这样弹出,窗体可以半透明。但如果:
Form2 frmsub= new Form2(this);
frmsub.TopLevel = false;
panel1.Controls.Add(frmsub);
frmsub.Show();这个时候frmsub子窗体在panel1里面show出来,但不透明了。这个问题怎么处理??????
Form2 frmsub= new Form2(this);
frmsub.Show();
这样弹出,窗体可以半透明。但如果:
Form2 frmsub= new Form2(this);
frmsub.TopLevel = false;
panel1.Controls.Add(frmsub);
frmsub.Show();这个时候frmsub子窗体在panel1里面show出来,但不透明了。这个问题怎么处理??????
panel1 没有透明属性。
那个 后面有个 panel1 你的窗体就是透明了 也没有用吧?
什么意思?
我弹出的子窗体要透明,panel1 透明不了。也不用透明。
frmsub.TopLevel = false;
panel1.Controls.Add(frmsub);
frmsub.Show();panel1.Controls.Add(frmsub);
这句应该是吧子窗体 添加到 panel1 里面去了吧?
他应该还是透明的,因为你的panel1所在的窗体是不透明的,一个透明的放在不透明的上面,那最后看到的 应该是不透明的那个
所以 应该是不透明的
using System;
using System.Windows.Forms;namespace WindowsFormsApplication10 {
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
this.IsMdiContainer = true;
} private void button1_Click(object sender, EventArgs e) {
Form2 form = new Form2();
form.MdiParent = this;
panel1.Controls.Add(form);
form.Show();
this.Text = form.Opacity.ToString();
}
}
}