ďťż

Ładny brzuch

Piszę w C# programik i mam 2 formy. Forma A posiada TextBox i przycisk Open. Po naciśnięciu na Open otwiera się Forma B i tam mam 2 TextBoxy (a i B) oraz przycisk Go. I teraz chciałbym aby po wpisaniu w oba TextBoxy dla Formy B tekstu, zastąpiło mi w TextBoxie z Formy A tekst a na b.

Jak można wykonywać operacje na innej otwartej formie?



Więc tak:
Masz 2 formy. Do Form2 musisz dopisać zmienną (TextBox) która będzie przechowywać referencję do TextBox z Form1 i konstruktor który tą referencję pobierze. W Clicku przycisku Open tworzysz Form2 korzystając z nowego konstruktora i otwierasz okno. Teraz z zakresu Form2 masz swobodny dostęp do TextBoxa z Form1 poprzez jego referencję. Uzupełniając TextBox jest klasą czyli w C# obiektem referencyjnym więc przy jego przekazywaniu nie potrzeba słowa kluczowego ref. Masz tutaj przykład zamieniający pojedyńcze znaki:
Form1.csusing System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace WindowsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void btnOpen_Click(object sender, EventArgs e) { Form2 changeForm = new Form2(this.tbText); changeForm.Show(); } } }
Form2.csusing System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace WindowsApplication1 { public partial class Form2 : Form { TextBox tbToReplace; public Form2() { InitializeComponent(); } public Form2(TextBox tb) { this.tbToReplace = tb; InitializeComponent(); } private void btnOk_Click(object sender, EventArgs e) { tbToReplace.Text = tbToReplace.Text.Replace(tbA.Text[0], tbB.Text[0]); } private void btnClose_Click(object sender, EventArgs e) { this.Close(); } } }

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •