Hirdetés
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Kiegészítőkkel készül karácsonyra a Xiaomi
- iPhone topik
- Yettel topik
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Mobil flották
- Motorola Fold?
- Poco F7 Pro - jó, de az amatőr sem rossz
- Motorola Edge 50 Neo - az egyensúly gyengesége
Ú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!
- TCL LCD és LED TV-k
- Bestbuy játékok
- Ingatlanos topic!
- The Game Awards 2025 - Az összes bejelentés egy helyen!
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Counter-Strike: Global Offensive (CS:GO) / Counter-Strike 2 (CS2)
- Windows 11
- Külföldi rendelések: boltok, fizetés, postázás
- Red Dead Redemption 2 (PC)
- LEGO klub
- További aktív témák...
- Ryzen 5 4500/ GeForce RTX 3070/16GB DDR4 RAM/512GB M.2 SSD konfig eladó sok-sok garival
- Új, fóliás SAPPHIRE PULSE RX 9070 XT PULSE 16GB (3 év garancia) - Beszámítás
- Új, fóliás XFX Quicksilver RX 9070 XT White Magnetic Air Edition 16GB (3 év garancia) - Beszámítás
- Thrustmaster t300 bázis
- Core I7 4K ERŐMŰ Lenovo P1 G3 (Core I7 10850H 32Gb 1 Tb) Tervező/vágó/gamer - Nvidia 4Gb!
- HIBÁTLAN iPhone 15 Pro Max 256GB Blue Titanium -1 ÉV GARANCIA -Kártyafüggetlen, MS3693
- Gamer PC-Számítógép! Csere-Beszámítás! I3 14100F / RTX 3060Ti / 16GB DDR5 / 1TB SSD
- 13-14" Új és használt laptopok , üzletitől a gamerig , kedvező áron. Garanciával !
- HIBÁTLAN iPhone 14 256GB Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3535
- Eladó egy S21 5g 256/8 dobozában töltővel fóliával
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: ATW Internet Kft.
Város: Budapest


