Új hozzászólás Aktív témák
-
válasz
ReSeTer
#9829
üzenetére
Ez a példa a form1-en lévő button1 katt-ra megnyitja a form2-t, majd az azon található button1 katt-ra módosítja a form1-en a button1 feliratát. Az elv benne van, saját igényednek megfelelően átírod.
Form1.cs
namespace WinFormsApp3
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 MyForm2 = new Form2(this);
MyForm2.ShowDialog();
}
}
}Form2.cs
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WinFormsApp3
{
public partial class Form2 : Form
{
private Form1 MyForm1;
public Form2(Form1 MyForm1)
{
InitializeComponent();
this.MyForm1 = MyForm1;
}
private void button1_Click(object sender, EventArgs e)
{
MyForm1.Controls["button1"].Text = "PH! Fórum - C# programozás";
}
}
} -
quailstorm
félisten
válasz
ReSeTer
#9829
üzenetére
"Teljesen mindegy mi a method, az a lényeg, hogy nem UI-n belül lévő method-on belül akarom megváltoztatni az UI-n lévő feliratot."
Ilyet nem tudsz csinálni, amennyiben a számolás másik szálon történik. Ha csak egy változót akarsz pörgetni, arra tökéletes az IProgress. Egyébként pedig én callback eventet használnék és dispatcherrel vissza UI threadre (hogy a workerben ne legyen direkt UI kód).
Ha nincs több szál a dologban, akkor elég a sima event invoke és a callbackben meg UI elem setelés. De ha hosszabb számolás, és a UI-t nem szeretnéd fagyasztani, akkor jobban jársz a külön threaddel.
Eventek.
DispatcherFire/SOUL/CD mutatja a statikus elérését a UI elemnek, azt is lehet, viszont az nem szép és nem moduláris megoldás. Bedrótozod az egyik komponensbe a másik komponens struktúráját.
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Crucial Pro 48GB (2x24GB) DDR5 5600MHz CL46 - XMP/EXPO - 120 hó garancia
- Corsair VENGEANCE RGB 64GB (2x32GB) DDR5 6000MHz CL30 - XMP/EXPO - 120 hó garancia
- Kingston FURY Beast 64GB (2x32GB) DDR5 5200MHz CL40 - XMP - 99 hó garancia
- Sony G 24-105 f/4 - Sigma 50mm f/1.4 Art (SONY E)
- Összeszerelésre váró komplett gépezet várja új gazdáját!
- Telefon felvásárlás!! Samsung Galaxy S24/Samsung Galaxy S24+/Samsung Galaxy S24 Ultra
- iPhone 13 mini 128GB Starlight -1 ÉV GARANCIA - Kártyafüggetlen, MS3831
- GYÖNYÖRŰ iPhone 13 mini 256GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3904
- Telefon felvásárlás!! Honor 200 Lite, Honor 200, Honor 200 Pro, Honor 200 Smart
- Apple iPhone 13 Pro 1TB,Újszerű,Dobozával,12 hónap garanciával
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: ATW Internet Kft.
Város: Budapest

