C# WinForms. Másik classból szeretnék megváltoztatni egy label-t, de nem működik. Hogy kéne megoldani?
Egy Updater nevű osztályból szeretném megváltoztatni a loginForm ban lévő labelt.
Kód:
if (update.IsUptoDate(applicationInfo.ApplicationAssembly.GetName().Version)) //ha az alkalmazás naprakész
{
loginForm logForm = new loginForm();
logForm.lblLoginUpToDate.Text = "Az alkalmazás naprakész.";
if (loginForm.UpdateBtnClicked)
MessageBox.Show("Az alkalmazás naprakész.");
}
Szerintem az nem fog menni.
A form-ok tagjai private láthatóságúak szoktak lenni.
Felejtsd el. 100% bad practice, amit csinálni akarsz.
1) Annak az ellenőrzésnek, hogy van-e elérhető update, nem az alkalmazás indításakor kell lezajlania. Lassítja ugyanis az alkalmazás indítását, és ez rosszabb felhasználói élményt eredményez.
2) Senkit se érdekel, hogy az alkalmazásod naprakész-e. Alap dolog, hogy az; nem kell külön közölni. Főleg nem az Update gombot megnyomva tájékoztatni a felhasználót arról, hogy naprakész.
3) A program legelső indításakor kérdezd meg a felhasználót, hogy hozzájárul-e, hogy a program automatikusan frissítéseket keressen, és soha többé ne zargasd ezzel a kérdéssel. Ha akarja, a beállításokban át tudja állítani. Kritikus esetben, ha valamilyen backend-del kommunikál a program, és a backendből kiadnak egy új verziót, amivel az éppen telepített verzió használhatatlanná válik, arról viszont mindenképp illik értesíteni a felhasználót és lehetőséget adni az azonnali frissítésre.
4) Érdemes monitorozni, hogy mikor használják a szoftveredet, hogy ne akkor csináld a frissítést, amikor a legjobban kéne a programod a felhasználónak. Egy másik időpont, amikor érdemes lehet, az az alkalmazás bezárásának pillanata - a programod viszont tegyen úgy, hogy azonnal leáll. Akármelyiket is választod, egy notification-t érdemes küldeni. De a frissítés mehet a háttérben - ne is lássa a felhasználó az ablakot.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!