- Megérkeztek a Xiaomi 15T sorozatának telefonjai Magyarországra
- iPhone topik
- Android alkalmazások - szoftver kibeszélő topik
- Furcsa névvel dönt rekordokat a Snapdragon 8 Elite Gen 5
- Szívós, szép és kitartó az új OnePlus óra
- Xiaomi 14T Pro - teljes a család?
- Két nap múlva itt a Xiaomi 17, van egy pár hivatalos fotó is róla
- Apple iPhone Air - almacsutka
- Amazfit Balance - ár-érték egyensúly
- Apple iPhone 16 - ígéretek földje
Új hozzászólás Aktív témák
-
x007
tag
A problémádat megoldja, hogyha a DisableControls() után meghívod a Application.DoEvents() metódust. Az ilyen megoldásokat azonban, ha lehet, kerüljük. Általánosságban elmondható, hogy időigényes feladatokat nem hajtunk végre a GUI szálon (ilyen egy vezérlő eseménye is, pl: Click), hanem egy új szálat hozunk létre, hogy a végrehajtás a háttérben történjen. Ezt könnyen megteheted a BackgroundWorker komponens segítségével, elég sok problémát levesz a programozó válláról.
Valami ilyet kéne csinálnod:
private void button1_Click(object sender, EventArgs e)
{
DbDetails arg =
new DbDetails
{
Server = ...,
Database = ...,
User = ...,
Password = ...,
};
connectStatusBar.Items[0] = "Testing connection...";
DisableControls();
backgroundWorker1.RunWorkerAsync(arg);
}
private class DbDetails
{
public string Server { set; get; }
public string Database { set; get; }
public string User { set; get; }
public string Password { set; get; }
}
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
DbDetails arg = e.Argument as DbDetails;
e.Result = TestConnection(arg.Server, arg.Database, arg.User, arg.Password);
}
private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
if (e.Error != null && (bool)e.Result)
{
//Sikerult csatlakozni
//TODO: Impl
}
else
{
//Nem sikerult csatlakozni
//TODO: Impl
}
}A DoWork eseménykezelőbe kell helyezned a kódot, amit a háttérben szeretnél végrehajtani. Fontos, hogy ebben nem hivatkozhatsz a Form-on található vezérlőkre szinkronizációs problémák miatt. Ezért van szükség jelen példában a DbDetails segédosztályra.
A RunWorkerCompleted eseménykezelő a feladat végrehajtása után mindig végrehajtódik. Ha valamilyen kivétel keletkezett, akkor azt a e.Error tulajdonságból kiolvashatod. Az e.Result tulajdonságból a DoWork eseménykezelőben beállított visszatérési érték olvasható ki.
-
Lortech
addikt
a gombok es textbox-ok csak akkor lesznek hajlandoak elszurkulni, ha mar megvan a testConnecion metodus viszateresi erteke
Miből jött le, hogy már megvan adott pillanatban a testConnection visszatérési értéke, hogy lehet meg a visszatérési értéke, ha elvileg meg sem hívtad?
Ránézésre szerintem nem a bemásolt kódban keresendő a megoldás, hanem valami olyan kódról, amiről nem tudod, hogy hamarabb fut le, mint gondolnád, pl. static vagy konstruktorok, vagy el elfelejtett metódus hívás. testConnection-re mehetne egy method breakpoint és hívási fát meg kéne nézni.
Ú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!
- EAFC 26
- Milyen belső merevlemezt vegyek?
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Küszöbön az androidos PC-k
- Tőzsde és gazdaság
- VGA kibeszélő offtopik
- Formula-1
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Megérkeztek a Xiaomi 15T sorozatának telefonjai Magyarországra
- Eredeti játékok OFF topik
- További aktív témák...
- új iPhone Air 256GB space black asztrofekete független Apple 1 év garancia
- Apple Watch Series 9 45mm GPS
- újszerű iPhone 16 Pro 128GB black titanium fekete titán független Apple 2 év garancia
- Intel NUC 5CPYB mini pc eladó
- újszerű iPhone 15 Pro 128GB natural titanium natúr titán független Apple ajándék tok
- Lenovo ThinkPad T14 Gen1 Intel I7 10610U
- Dell és HP szerver HDD caddy keretek, adapterek. Több száz darab készleten, szállítás akár másnapra
- Dell Optiplex MT/SFF 3040, 3050, 3060, 3070, 5070, 7060/ Hp ProDesk /SZÁMLA- GARANCIA
- Surface Laptop 4 i7-1185G7 16GB 512GB magyarbill 1 év garancia
- ÁRGARANCIA!Épített KomPhone Ryzen 7 9800X3D 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest