2009-02-09 2 views
0

Это хорошая идея разместить элементы управления на фоне родительского окна MID? Я добавил контейнер сплит в окно MDI, которое отображает как ожидалось, однако, когда я пытаюсь открыть любые другие формы в том же окне, они показывают BEHIND SplitContainer. Единственный способ заставить их всплывать, если я использую ShowDialog для их отображения. К сожалению, мне нужно иметь возможность открывать сразу несколько окон, поэтому это не практическое решение.Элементы управления на родительском фоне MDI

Я подошел к этому неправильно?

ответ

2

Вы не можете добавлять элементы управления, которые закрывают окно клиента MDI (темно-серый фон). Клиенты MDI отображаются с окном клиента в качестве родителя, поэтому у них будет Z-порядок ниже, чем у элемента управления.

WF поддерживает поддерживаемые элементы управления, он автоматически настраивает клиентскую область на оставшееся место в родительской форме. Но об этом, SplitContainer не может работать.

Обратите внимание, что вы можете отображать формы на панелях SplitContainer. Установите для свойства TopLevel значение False, чтобы они превратились в элементы управления. Например:

public partial class Form1 : Form { 
    public Form1() { 
     InitializeComponent(); 
     Form2 f2 = new Form2(); 
     f2.TopLevel = false; 
     f2.FormBorderStyle = FormBorderStyle.None; 
     f2.Visible = true; 
     splitContainer1.Panel1.Controls.Add(f2); 
    } 
    } 
Смежные вопросы