Einzelnen Beitrag anzeigen

Robert_G
(Gast)

n/a Beiträge
 
#5

Re: [c#] Auf Variable einer anderen Form zugreifen?

  Alt 13. Aug 2005, 16:45
@André so wie es aussieht, will er von einem Dialog auf das Hauptfenster zugreifen...

Hier das MainForm:
Es macht nichts weiter, als den Text eines Labels als Eigenschaft öffentlich zugreifbar zu machen und im Click des Buttons den Dialog zu öffnen.
Code:
public partial class MainForm : Form
{
   public string Label
   {
      get { return label1.Text; }
      set { label1.Text = value; }
   }

   public MainForm()
   {
      InitializeComponent();
   }

   void button1_Click(object sender, EventArgs e)
   {
      using (AdditionalForm dialog = new AdditionalForm(this))
         dialog.ShowDialog();
   }
}
Die zweite Form Klasse hält eine Referenz auf das MainForm und wenn man Enter/OK drückt, wird der Inhalt einer TextBox in das Label vom Hauptform eingetragen.
Code:
public partial class AdditionalForm : Form
{
   MainForm mainForm;

   protected MainForm MainForm
   {
      get { return mainForm; }
   }


   public AdditionalForm(MainForm mainForm)
      : this()
   {
      this.mainForm = mainForm;
   }

   public AdditionalForm()
   {
      InitializeComponent();
   }

   void okButton_Click(object sender, EventArgs e)
   {
      MainForm.Label = someTextBox.Text;
      DialogResult = DialogResult.OK;
   }

   private void cancelButton_Click(object sender, EventArgs e)
   {
      DialogResult = DialogResult.Cancel;
   }
}
btw: Immer schön an Dispose/using denken, wenn man mit Controls hantiert!
  Mit Zitat antworten Zitat