Обновление (2011-01-17):
Я создаю форму с FormBorderStyle=None
внутри MdiContainer.Когда я показываю первую форму, даже если она уже создана, на долю секунды она отображается с синей рамкой нормальной формы, а затем переворачивается.
В следующем примере, щелкнув один раз иснова на button1, он будет показывать это поведение время от времени, хотя это в течение очень короткого промежутка времени, поэтому я думаю, что это будет трудно увидеть на очень быстрой машине;тем не менее, в моем рабочем коде со сторонними элементами управления .net он показывается гораздо дольше.
Чтобы попробовать это, просто создайте новый проект, и в форме окна с именем Form2 добавьте кнопку в Form1добавьте события Form1_Load и button1_Click и вставьте код.Затем некоторое время нажмите кнопку 1.
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;
}
}
Это не зависит от языка, поэтому, пожалуйста, не меняйте мои теги без веской причины.