В моем приложении я хочу иметь возможность открывать новый экземпляр формы в качестве дочернего элемента несколько раз, пока они имеют уникальный идентификатор.
На данный момент я делаю так:
private int _consoleWindowCount = 0;
private void tsBtNewConsole_Click(object sender, EventArgs e)
{
_consoleWindowCount++;
var consoleForm = new ConsoleForm(_consoleWindowCount) { MdiParent = this };
consoleForm.FormClosing += delegate { _consoleWindowCount--; };
consoleForm.Show();
//This will open a new ConsoleForm with Text: Console #_consoleWindowCount
//Like:
// Console #1
// Console #2
}
У меня на данный момент 2 проблемы:
- Как это возможно, что из MDIForm (mainForm) я могу программно делать такие вещи, как BringToFront или Close или... с помощью свойства Text дочерних форм, открытых в настоящее время в основной форме
- Я не должен быть гением, чтобы обнаружить, что этот способ уникального именования дочерних форм не работает. Если я открою 5 дочерних форм (одной и той же формы), они будут пронумерованы от
Console #1
доConsole #5
. Но если я закрою, скажем,Console #4
, и если я открою новую форму (той же формы!), она будет называтьсяConsole #5
, тогда у меня будет две формы с одинаковым именем. если это можно исправить, будет здорово, если формы будут различимы пользователем.
Ждем ваших советов в таком случае!