2014-11-09 4 views
2

У меня есть форма Main, которая является MDI и имеет множество дочерних форм.Как ограничить количество открытых форм?

Я хочу ограничить количество форм, которые можно открыть сразу - например. одновременно открываются не более 8 форм.

Как это сделать?

+1

Это очень широкий вопрос, вы должны включать более подробную информацию. –

+3

Как этот вопрос более сложный, чем a) поддержание статического поля, которое увеличивается каждый раз при открытии формы и b) проверяет значение этого поля, когда форма открывается и запрещает операцию, если значение слишком велико (т.е. '8 'в этом случае). –

+0

это система инвентаризации, в которой я хочу, чтобы форма продажи или покупки должна была ограничивать, что максимум 8 форм можно открыть за один раз. –

ответ

1

Если вы используете MDI должным образом, то просто проверить Протяжённость MdiChildren коллекции в главном MDI формы:

private void button1_Click(object sender, EventArgs e) 
{ 
    if (this.MdiChildren.Length < 8) 
    { 
     Form child = new Form(); 
     child.MdiParent = this; 
     child.Show(); 
    } 
} 
Смежные вопросы