Einfügen eines Strings in ein MDI-Child-Form

azok

Grünschnabel
hallo!

Ich habe folgendes Problem, zu dem ich einfach keine Lösung finde, obwohl sie, denke ich mehr oder weniger einfach sein dürfte. Und zwar: Ich habe eine MDI Application erstellt, die soweit recht gut funktioniert. - Das Problem ist jetzt folgendes:

Wenn ein leeres MDI-Kind-Form geöffnet ist, und ich auf 'Öffnen' klicke, lädt mir der OpenFileDialog den Inhalt passend in dieses. Nur: Ist kein Form geöffnet, funktioniert das ganze nicht, weil, so glaube ich, erst ein neues Kind-Form erstellt werden muss, in das anschließend der Inhalt der Datei geladen wird. - Und das ist das Problem, nämlich wie ich vor dem Anzeigen des Kind-Forms die Datei in selbiges lade... - Der Code von mir sieht zur Zeit so aus (der wesentliche Teil):

Code:
if (dlgOpenFile.ShowDialog() == DialogResult.OK)
{
try
{
m_sFileName = dlgOpenFile.FileName;
string sData = ReadFromFile(m_sFileName);
Form activeChild = this.ActiveMdiChild;
if (activeChild != null)
{
try
{
RichTextBox rtbActiveChild = (RichTextBox)activeChild.ActiveControl;
if (rtbActiveChild != null)
{
this.Text = m_sFileName;
rtbActiveChild.Text = sData;
rtbActiveChild.SelectionLength = rtbActiveChild.SelectionLength;
rtbActiveChild.SelectionStart = rtbActiveChild.Text.Length;
}
}
catch
{
MessageBox.Show("Es muss ein Fenster markiert sein!");
}
}
else
{
try
{
frmMChild objfrmMChild = new frmMChild();
objfrmMChild.MdiParent = this; //Was gehört hier hin?
objfrmMChild.Show();
}
catch
{
MessageBox.Show("Fehler");
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
}

Was muss ich an der markierten Stelle einfügen, um den String mit dem Inhalt (sData) korrekt laden zu können? Bzw. wonach müsste ich suchen?

btw: Gibt es in vC# 2005 Express-Edition eigentlich die MDIList eigenschaft? (Ich finde die nirgendwo an)

danke schon im Voraus!

mlg
azok

 
Hi,
du sagst dem MidChild doch wer seine Mutter ist oder, und das in etwa so

From form = new Form();
form.MdiParent = this;
form.Show();

Und jetzt kannst du über der Mutter abfragen welches Kind aktiv ist.
z.B.
this.ActiveMidChild.ToString();

Ich hoffe das hilft dir weiter!
 
Hallo!

Das ist mir eigentlich schon klar. Mein Problem ist, dass ich, sobald ich auf Öffnen klicke, ein neues Kind erstelle, in welches noch bevor es angezeigt wird, der Inhalt der Datei geladen wird.

mlg
azok
 
Zurück