Datenaustausch zwischen zwei Forms

azok

Grünschnabel
Hallo!

Ich arbeite zzt an einer MDI-Anwendung (Html-Editor), bei der der User auf z.b. Einfügen-Frames... klickt, und sich dann eine Listbox öffnet, die diverse 'Typen' beinhaltet. Ich möchte nun, dass der User, eines davon auswählt, und auf OK klickt, und den Code des gewählten Types in das aktive Kind-Formular einfügt. Ich habe mir dazu folgendes überlegt: Wird ein Typ ausgewählt, und klickt der User auf OK, wird je nach selektiertem Typ ein string mit dem Code an das Eltern-Formular übergeben, und dort geschaut, welches Kind-Formular gerade aktiv ist, und dann in dessen RichTextBox geschrieben. - Der Code sieht dazu so aus:

Für das Formular (frmSelectFrame) mit der ListBox

Code:
namespace TestProjekt
{
partial class frmSelectFrame : Form
{
public frmSelectFrame(frmMain f)
{
InitializeComponent();
this.fm = f;
}
private frmMain fm = null;
private void pbTypCancel_Click(object sender, EventArgs e)
{
this.Close();
}
private void frmSelectFrame_Load(object sender, EventArgs e)
{
try
{
lbSelectFrame.Items.Add("Typ 1");
lbSelectFrame.Items.Add("Typ 2");
//usw...
}
catch
{
MessageBox.Show("Fehler!");
}
}
private void pbTypOk_Click(object sender, EventArgs e)
{
string frame;
if (lbSelectFrame.SelectedItems == lbSelectFrame.SelectedItems[0])
{
frame = "Typ 1";
this.fm.Frames = frame;
this.Close();
}
else if (lbSelectFrame.SelectedItems == lbSelectFrame.SelectedItems[1])
{
frame = "Typ 2";
this.fm.Frames = frame;
this.Close();
}
 
//usw...
 
}
}
}

Der betreffende Teil am Hauptformular (frmMain)

Code:
public string Frames
{
get
{
Form activeChild = this.ActiveMdiChild;
RichTextBox rtbActiveChild = (RichTextBox)activeChild.ActiveControl;
return this.rtbActiveChild.Text;
}
set
{
Form activeChild = this.ActiveMdiChild;
RichTextBox rtbActiveChild = (RichTextBox)activeChild.ActiveControl;
this.rtbACtiveChild.Text = rtbActiveChild.Text + value;
rtbActiveChild.SelectionLength = rtbActiveChild.SelectionLength;
rtbActiveChild.SelectionStart = rtbActiveChild.Text.Length;
}
}

...und an dieser stelle tritt das Problem auf. VC# meldet mir folgendes: "TestProjekt.frmMain does not contain a definition for 'rtbActiveChild'"

dabei habe ich die rtbActiveChild ja 'deklariert', oder ist das im get/set Abschnitt nicht erlaubt?

Hat jemand von euch einen Lösungsvorschlag?
wäre für jede Hilfe dankbar!

mlg
azok
 
Falls Du dich jetzt fragst warum keiner Antwortet, liegt das daran dass das Thema die letzte Woche schon wieder durchgekaut wurde.
[thread=91795]Thread - auf public Methoden zugreifen...[/thread]
[thread=191500]Thread - Formular von einem anderen Projekt öffnen[/thread]
  1. Suchfunktion
  2. Posten

MfG cosmo
 
Zurück