Új hozzászólás Aktív témák
-
sztanozs
veterán
Egyáltalán nem bántásként írtam, csak az összes találat az első oldalon relevánsnak tűnt - így nem volt kedvem külön linkelgetni
Topmostnál pont az a probléma, hogy a többi form nem takarhatja el... UI kezelő zorderjével kellene valacolni, de asszem ez már meghaladja a google-fu-mat
-
fatal`
titán
Mivel a labeled scopeja a konstruktor és a futása végén meg is szűnik, ezért a fordítónak a másik függvényben fogalma sincs mi az az izeLabel. Csinálj instance fieldet.
És a timer eventje static-ként nem lesz jó
(#6042) rgeorge Emlékeim szerint a timer ugyanazon a szálon fut.
-
Karma
félisten
Ahhoz képest, hogy az előző kódot metrón zötykölődve, telefonon írtam, csak egy dolgot hibáztam el benne: a Color.Blacket nem lehet default paraméternek használni, mert nem konstans. (Meg is szerkesztem a kódot.)
Ezt leszámítva működik, most próbáltam ki egy Forms projektben.
Ide feltettem az egész solutiont. -
Karma
félisten
Pedig csak szintaktika innen, ha a példa működött.
public static class RichTextBoxExtensions
{
public static void AppendWithColor(this RichTextBox rtb, string text, Color color)
{
var length = rtb.TextLength;
rtb.AppendText(text);
rtb.Select(length, text.Length);
rtb.SelectionColor = color;
rtb.SelectionLength = 0;
}
}Szerk.: a harmadik sorból kivettem egy default paramétert.
-
Karma
félisten
Ha ilyet akarsz, nem nagyon tudod megúszni, hogy számon tartsd, mi volt az Append előtti utolsó hossz, és az Append után ezt felhasználva a jó pozíciót jelöld ki. Én írnék egy extension methodot a RichTextBox osztályra (pl. AppendWithColor) néven, ami ezt intézi, és mindenhol ezt használnám.
-
rgeorge
addikt
Nálam ez műkszik:
richTextBox1.AppendText("kékpiroszöld");
richTextBox1.Select(0, 3);
richTextBox1.SelectionColor = Color.Blue;
richTextBox1.Select(3, 5);
richTextBox1.SelectionColor = Color.Red;
richTextBox1.Select(8, 4);
richTextBox1.SelectionColor = Color.Green;
richTextBox1.SelectionLength = 0; -
Karma
félisten
Uh, az kemény. Nézd meg ezt a kódot - a Main függvényt mindenképp, a többi onnantól logikus.
Ezen az úton felül tudod bírálni, hogy mi történjen az el nem kapott exceptionnel. Ha beiktatsz egy Console.WriteLine-t is és parancssorból futtatod a programod, meglesz a stacktrace.
-
-
-
-
Karma
félisten
Filózok folyamatosan a problémán, igazából ha mondjuk ebből a példából indultál ki, akkor az előzőleg említett állításom nem áll meg - egy elrejtett Form az alapja az egésznek, a rendes kontextus az Application.Runnak köszönhetően felépül.
A linkem a konzol alkalmazásokra vonatkozott csak, ez meg nem az.
Viszont felmerült bennem egy kérdés a kódod azon részére, amit nem mutattál eddig: az mWorker változót hogyan deklarálod és mikor hozod létre a BackgroundWorker objektumot? Nem maradt ki véletlenül a new?
Ettől függetlenül a ThreadPool jó dolog
-
Karma
félisten
Amúgy az előző konstrukcióban van valami oka annak, hogy innen próbálod indítani a BackgroundWorkert, nem pedig a SysTrayAppon belül? Drkbl jó úton jár, a BackgroundWorker működéséhez kell a megfelelő kontextus, ami ebben a formában nem áll elő.
A linkelt SO kérdésben is említik az egyszerű megoldást: használj pl. ThreadPoolt. Vagy a C# 5.0-öt használsz, ott az async/await is. (Microsoft.Bcl.Async csomaggal meg régi .NET-en is megy.)
-
sztanozs
veterán
Esetleg a Console-hoz nem fér hozzá... Passz. Mindenesetre találtam egy tiédhez hasonló problémát:
http://stackoverflow.com/questions/6165759/using-console-writeline-in-a-backgroundworker-dowork-eventAmúgy ha WinForm alkalmazást fejlesztesz, ahhoz nem lesz console...
-
sztanozs
veterán
Használj debug kapcsolókat command line compilerhez és akkor kicsist több lesz a hibaüzenet...
És van command line debugger is.
Új hozzászólás Aktív témák
Hirdetés
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- exHWSW - Értünk mindenhez IS
- Hat év támogatást csomagolt fém házba a OnePlus Nord 4
- Sütés, főzés és konyhai praktikák
- Xiaomi Mi 11 Ultra - Circus Maximus
- Magisk
- Melyik tápegységet vegyem?
- Huawei Watch Fit 3 - zöldalma
- alza vélemények - tapasztalatok
- Linux kezdőknek
- Bluetooth hangszórók
- További aktív témák...
- MSI CYBORG 15 A13V
- PlayStation Network Card (PSN) ajándékkártyák, egyenesen a Sony-tól!
- 3DKRAFT.HU - 3D NYOMTATÁS - AZONNALI ÁRAJÁNLAT - GYORS KIVITELEZÉS - 480+ POZITÍV ÉRTÉKELÉS
- ÁRGARANCIA!Épített KomPhone i5 10600KF 16/32/64GB RAM RX 7600 8GB GAMER PC termékbeszámítással
- ÁRGARANCIA! Épített KomPhone Ryzen 5 4500 16/32/64GB RAM RTX 3060 12GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest