Hirdetés
Új hozzászólás Aktív témák
-
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.)
-
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...
-
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
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Samsung Galaxy A17 5G 4/128GB, Újszerű, Kártyafüggetlen, Töltővel, 1 Év Garanciával!
- Honor 90 12/512GB, Megkímélt, Kártyafüggetlen, Töltővel, Dobozzal, 1 Év Garanciával!
- Honor 400 Lite 8/256GB, Megkímélt, Kártyafüggetlen, Töltővel, 1 Év Garanciával!
- Xiaomi Redmi 15C 8/256GB, Újszerű, Kártyafüggetlen, Töltővel, Dobozzal, 1 Év Garanciával!
- Xiaomi Redmi 14C 4/128GB, Megkímélt, Kártyafüggetlen, Töltővel, Dobozzal, 1 Év Garanciával!
- Samsung Galaxy Ring 12mm, 1 Év Garanciával
- UPDATE 11.13. HP üzleti laptopok Elitebook, Probook 4-13. gen gar.
- GYÖNYÖRŰ iPhone 12 Pro 128GB Graphite - 1 ÉV GARANCIA - Kártyafüggetlen, MS3258,100% Akkumulátor
- AKCIÓ! iMac Pro Intel Xeon W2150B 64GB 1TB VEGA 64 16GB!!! 1 év garancia!
- Sanitas SBM 21 felkaros vérnyomás mérő / 12 hó jótállás
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest






