Új hozzászólás Aktív témák
-
wollnerd
aktív tag
Sziasztok!
Van egy kérdésem, amire magyarázatot szeretnék kapni hogy miért van ez.
Dolgozok egy idáig már 3 winform-os project-en. Amikor a 3. form-on kezdtem el dolgozni, átmenetileg átírtam a Program.cs-ben az Application.Run sorban arra a 3. form-ra hogy rögtön azt lássam.
Ma pedig végletesnek tituláltam a 3. form-ot és leprogramoztam az adatátvitel egy részét a 3. form-ra. Majd visszaírom a Program.cs-ben arra a fő ablakra. (Nos, valójában a főablak az induláskor elrejtve magát, mert behoz egy kisebb ablakot és azt leokézva felfedi magát a főablak a kisablakban megadott adatok átvitelével a főablakba.)
És azt láttam hogy egyszerűen nem akart elindulni a főform! (BlackjackWF) hajamat téptem, hiába tettem breakpoint-okat, de aztán meglepve rájöttem hogy... (kép alább)
És nem értem miért... Új típusú WinForm változó más névvel a welcomeform (a kisablak) alatt és mégis ez a 3. form megakadályozza főablak megjelenését!
Nem értem hogy miért és milyen programnyelvi utasítási szabályok alapján történik az, amit még a Debugger se mond el, sok-sok breakpointtal sem?!

Mindenesetre megnyugodtam, hiszen, ha nincs az a sor, szépen elindul a főablak, de ha aktív e sor, itt, akkor kapufa...Lehet hogy azt a sort jobb abba a button click event blokkjába helyezni, ahol megnyilna a 3. form...
-
wollnerd
aktív tag
Sziasztok!
Nem értem a backgroundworkert és a folyamatjelző működését! Pontosabban nem értem hogy miért van az hogy ha a projektemben nulláról próbálom megalkotni a BW-t, azt a hibát dobja mindig: Ez a BackgroundWorker folyamat azt állítja, hogy nem jelenti az előrehaladást. Módosítsa a WorkerReportsProgress tulajdonságot, hogy jelentse az előrehaladást.
Miközben kódról-kódra pontosan próbálom másolni 100 tutoriából, mindig ez a hiba, de ha egy letöltött projektet indítok el, ott tökéletesen müködik pedig a kódom szinte ugyanaz és nálam mégsem működik!
Valaki megmagyarázná hogy miért van? Biztos h én vok a hülye.... Köszi előre is. (Scripteket próbálok a BW-el lefuttatni és a folyamatcsik jelezné hol tart jelenleg a folyamat.)
A projektem kódja: (Elnézést a hosszú tartalmáért. Használom a forráskód gombot, remélem bevállik.)private void BnWebElemStart_Click(object sender, EventArgs e){if (!hatterbenDolgozo.IsBusy){hatterbenDolgozo.RunWorkerAsync();Richtbstatus.SelectionColor = Color.Blue;Richtbstatus.SelectedText = "A Wappalyzer scripje 5 másodpercentként küldi a visszajelzését. A Sitespeedo 10 másodpercenként. A többi tool x mp-ként.";Richtbstatus.SelectedText = Environment.NewLine + "A Sitespeedo elemzése tart a legtovább...";Richtbstatus.SelectionColor = Color.Black;}}private void Richtbstatus_TextChanged(object sender, EventArgs e){Richtbstatus.SelectionStart = Richtbstatus.Text.Length;Richtbstatus.ScrollToCaret(); //'Autogörgetés az aljára' mendódus mint a telepítővarázslóknál.}private void hatterbenDolgozo_DoWork(object sender, DoWorkEventArgs e){for (int i = 0; i <= 100; i++){//CHECK FOR CANCELLATION FIRSTif (hatterbenDolgozo.CancellationPending){//CANCELe.Cancel = true;}else{Thread.Sleep(1000);hatterbenDolgozo.ReportProgress(i);}}}private void hatterbenDolgozo_ProgressChanged(object sender, ProgressChangedEventArgs e){progressBar.Value = e.ProgressPercentage;lbfolyamat.Text = e.ProgressPercentage.ToString() + "%";}private void hatterbenDolgozo_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e){if (e.Cancelled){lbfolyamat.Text = "folyamat megszakítva.";progressBar.Value = 0;}elselbfolyamat.Text = "folyamat befejeződött.";}
A letöltött projekt:private void cancelBtn_Click(object sender, EventArgs e){//REQUEST CANCELLATIONbackgroundWorker1.CancelAsync();}//RUN BG STUFF HERE.NO GUI HERE PLEASEprivate void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e){for (int i = 0; i <= 100; i++){//CHECK FOR CANCELLATION FIRSTif (backgroundWorker1.CancellationPending){//CANCELe.Cancel = true;}else{simulateHeavyJob();backgroundWorker1.ReportProgress(i);}}}//THIS UPDATES GUI.OUR PROGRESSBARprivate void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e){progressBar1.Value = e.ProgressPercentage;percentageLabel.Text = e.ProgressPercentage.ToString() + " %";}//WHEN JOB IS DONE THIS IS CALLED.private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e){if (e.Cancelled){display("You have Cancelled");progressBar1.Value = 0;percentageLabel.Text = "0";}else{display("Work completed successfully");}}//SIMULATE HEAVY JOBprivate void simulateHeavyJob(){//SUSPEND THREAD FOR 100 MSThread.Sleep(100);}
Ú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!
- Lenovo ThinkPad T480s,14",FHD,i5-7300U,8GB DDR4,256GB SSD,WIN11,TOUCH
- GARANCIÁLIS ASUS TUF F16 // Intel Core 5 210H // 16GB RAM // 1TB SSD // RTX 4050
- 10genes kishibàs pc(i3-10105f/8gb/gt1030/win11/SSD/hdd)
- PANASONIC Toughbook CF-53,i5-3340M,4GB RAM,500GB HDD,DVD,WIN10
- Lenovo LOQ Gamer laptop , R7 7435HS , 24GB DDR5 , RTX 4050
- Telefon felváráslás!! Samsung Galaxy S22/Samsung Galaxy S22+/Samsung Galaxy S22 Ultra
- Keresünk iPhone 13/13 Mini/13 Pro/13 Pro Max
- Samsung Galaxy A56 5G 8/256GB fehér használt, karcmentes 6 hónap garancia
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7700X 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone i9 14900KF 64GB RAM RTX 5090 32GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

Valaki megmagyarázná hogy miért van? Biztos h én vok a hülye.... Köszi előre is. (Scripteket próbálok a BW-el lefuttatni és a folyamatcsik jelezné hol tart jelenleg a folyamat.)