Diskuze: Prvky z Form1 ve Form2
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Tvůrce

Zobrazeno 6 zpráv z 6.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Musis si nejak predat do Formu2 odkaz na Form1.
Treba takhle:
u formu1 po vytvoreni druhyho formu zavolas
Form2.SetForm(this);
a u formu 2 si udelas promennou
Form form1=null;
a funkci
public void SetForm(Form form)
{
this.form1 = form;
}
Buď to můžeš takto: http://www.itnetwork.cz/…053a0ff2dd44
Jak již vlastně uvedl Satik. A nebo použít Invoke
control.Invoke(new MethodInvoker(() =>
{
control.Text = "asdf";
}));
Můžeš si dát invoke třeba na celý form a měnit co potřebuješ z
jiných oken nebo vláken. Pokud dáš invoke do nějaké metody přímo v tom
formu, která se volá i třeba přímo z něj použij podmínku
if (control.InvokeRequired)
.
Třeba takto:
Program.cs
public static Form1 FormInstance = new Form1();
...
Application.Run(FormInstance);
Bez statiky:
Application.OpenForms.OfType<Form1>().First();//za předpokladu, že těch oken není více
Kdekoliv
Program.FormInstance.Invoke(new MethodInvoker(() =>
{
Program.FormInstance.label1.Text = "můj text";
Program.FormInstance.Text = "popisek formu";
....
}));
Zobrazeno 6 zpráv z 6.