更新(2011-01-17):
我正在FormBorderStyle=None
使用 MdiContainer 创建一个表单。当我显示第一个表单时,即使它已经创建,它也会在几分之一秒内出现正常表单的蓝色边框,然后它会被还原。
对于下面的示例,在 button1 上一次又一次地单击,它会不时显示这种行为,虽然它是一个非常短暂的时间流逝,所以我想在非常快的机器上很难看到它;但是,在我的带有 3rd 方 .net 控件的生产代码中,它显示的时间更长。
要尝试此操作,只需创建一个新项目和一个名为 Form2 的 Windows 窗体,向 Form1 添加一个按钮,添加事件 Form1_Load 和 button1_Click,然后粘贴代码。然后,单击 button1 片刻。
public partial class Form1 : Form
{
Form2 form;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
form.Visible = !form.Visible;
form.MdiParent = this;
}
private void Form1_Load(object sender, EventArgs e)
{
this.IsMdiContainer = true;
form = new Form2();
form.FormBorderStyle = FormBorderStyle.None;
}
}
这与语言无关,所以请不要在没有充分理由的情况下更改我的标签。