Witam
Mam takie pytanie...chciałbym przekazać wartość zmiennej z jednego okienka do drugiego.
Kiedy zmienną w pierwszym oknie inicjalizuję statycznie to wszystko jest w porządku, ale kiedy kiedy ta inicjalizacja następuje dynamicznie to wówczas w drugim okienku się nie wyświetla.
W czym może być problem
Rozumiem, ze chodzi o przekazywanie danych miedzy formularzami? W takim razie polecam ten artykul. Jest tam dobrze opisane przekazywanie danych na kilka roznych sposobow.
A na przyszlosc to wklejaj kod, ktory Ci nie dziala. Ciezko z twojego opisu wywnioskowac o co tak naprawde chodzi.
Dzięki. O coś takie dokładnie mi chodziło..
Pozdrawiam
Nie mogę sobie poradzić jeszcze z jedną rzeczą...a mianowicie...
mam 2 formularze jak widać poniżej i w Form1 uruchamiam Form2 w którym wpisuje jakieś dane które chcę aby znalazły się w Form1, problem polega na tym, że nie wiem jak to zrobić, bo kiedy robię to w ten sposób, że uruchamiam nowy Form1 to wszystko jest w porządku, a chciałbym aby to wyświetlało się w starym. Możecie coś poradzić?
namespace Ekspansja
{
public partial class Form1 : Form
{
public string zmienna1;
public Form1()
{
InitializeComponent();
}
private void Plik_Opening(object sender, CancelEventArgs e)
{
}
private void Form1_Load(object sender, EventArgs e)
{
}
public string pobierz_wartosc2
{
set { zmienna1 = value; }
}
private void nowaFunkcjaToolStripMenuItem_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2();
form2.ShowDialog();
}
private void button1_Click(object sender, EventArgs e)
{
label1.Text = zmienna1;
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
private void label1_Click(object sender, EventArgs e)
{
}
}
}
namespace Ekspansja
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void Form2_Load(object sender, EventArgs e)
{
label1.Text = "WPISZ POTRZBNE DANE";
label2.Text = "Wymiar przestrzeni";
label3.Text = "Wektor startowy";
label4.Text = "Wzór funkcji";
label5.Text = "Wektor startowy";
label6.Text = "Wektor poszukiwań ξ";
label7.Text = "Wartość początkowa kroku λ";
}
public string przekaz_wartosc2
{
get { return textBox2.Text; }
}
public string przekaz_wartosc3
{
get { return textBox3.Text; }
}
public string przekaz_wartosc4
{
get { return textBox4.Text; }
}
public string przekaz_wartosc5
{
get { return textBox5.Text; }
}
public string przekaz_wartosc6
{
get { return textBox6.Text; }
}
public string przekaz_wartosc7
{
get { return textBox7.Text; }
}
private void label1_Click(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
Form1 form = new Form1();
form.pobierz_wartosc2 = przekaz_wartosc2;
Close();
}
}
}
Chyba nie przeczytales artykulu, ktory Ci podsunolem.
Przesledz ponizszy przyklad. Niestety nie bede poprawiac twojego kodu.
Tworzymy Form1, ktory bedzie zawieral TextBox1 i Button1. Nastepnie tworzymy Form2, ktory bedzie zawierac ten sam zestaw kontrolek.
W kodzie Form2 dodajemy zmienna TextBoxForm1:
public partial class Form2 : Form
{
public TextBox textBoxForm1;
...
}
Nastepnie dodajemy zdarzenie Click dla Button1 w Form1:
private void Button1_Click(object sender, EventArgs e)
{
Form2 drugiFormularz = new Form2();
drugiFormularz.textBoxForm1 = this.textBox1; //przekazanie TextBox1 do Form2
drugiFormularz.Show(); //wyswietlenie niemodalnego okna
}
Do zmiennej textBoxForm1 w formularzu Form2 przekazujemy kontrolke textBox1 z formularza Form1.
Nastepnie dodajemy zdarzenie Clicl dla Button1 w Form2:
private void Button1_Click(object sender, EventArgs e)
{
textBoxForm1.Text = textBox1.Text;
}
Spowoduje to wyswietlenie tekstu z TextBox1 z Form2 w TextBox1 w Form1.
Mam nadzieje, ze zrozumiales. I odsylam drugi raz do artykulu, do ktorego dostales linka.
Witam...ciągle nie mogę sobie poradzić z jedną rzeczą, a mianowicie:
W Form1 button uruchamiam mi Form2 w którym wpisuje jakąś daną i chce ją przekazać do Form1 i tu jest w porządku, ale następnie w Form2 uruchamiam button'em Form3 w którym też wpisuje daną, którą chce przekazać do Form1 i tu jest problem..mógłby ktoś spojrzeć na kod i ewentualnie poprawić:
namespace WindowsApplication7
{
public partial class Form1 : Form
{
public TextBox text;
public TextBox text1;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
text = new TextBox();
text1 = new TextBox();
Form2 form2 = new Form2();
form2.txt = this.text;
Form3 form3 = new Form3();
form3.txt1 = this.text1;
form2.Show();
}
private void button2_Click(object sender, EventArgs e)
{
label1.Text = text1.Text;
}
}
}
namespace WindowsApplication7
{
public partial class Form2 : Form
{
public TextBox txt;
public Form2()
{
InitializeComponent();
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
txt.Text = textBox1.Text;
Form3 form3 = new Form3();
form3.Show();
}
}
}
namespace WindowsApplication7
{
public partial class Form3 : Form
{
public TextBox txt1;
public Form3()
{
InitializeComponent();
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
txt1.Text = textBox1.Text;
//Close();
}
}
}
Już mi działa....
Pozdrawiam