Article View: alt.pl.comp.lang.csharp
Article #22421Re: ListBox przewija się do góry przy zmianie zawartości.
From: Netx
Date: Sun, 12 Aug 2012 20:41
Date: Sun, 12 Aug 2012 20:41
49 lines
3064 bytes
3064 bytes
W dniu 2012-08-12 21:28, Łukasz 'Maly' Ostrowski pisze: > On Sun, 12 Aug 2012 19:37:09 +0200, Netx wrote: >> <snip> jednak za każdym razem gdy wpisuję/aktualizuję >> "tytuł" nowej pozycji, lista jest przewijana do góry po instrukcji: >> lb.Items[pos] = nrScreen.ToString() + ". " + newName; >> Czy istnieje możliwość aby przy wykonywaniu powyższej linijki dla >> pozycji niewidocznych, lista nie przewijała się na ekranie automatycznie >> na samą górę? > > http://pastebin.com/RmcumkFT Dziękuję za odpowiedź! Jakiego C# używasz? Mój kompilator tego nie rozumiał: new Thread(() => button2_Click(sender, e)).Start(); Mam Microsoft Visual C# 2010 (Express) i zrobiłem lekką modyfikację - podaję niżej. Jeśli masz nowsze C# to nie wiem czy mogę się przesiąść ponieważ program być może chciałbym udostępnić za darmo a więc musi być możliwość łatwego uruchomienia przez użytkowników (nie wiem czy nowsze środowisko uruchomieniowe C# jest dostępne dla wszystkich i darmowe). Jeśli dobrze użyłem tego narzędzia "pastebin.com" to tu jest kod: http://pastebin.com/0FAgJNxP Naciskam "button 1" program wypełnia ListBox OK Przewijam listę myszą na ekranie np. na sam koniec Naciskam "button 2" program zmienia jedną pozycję (OK) ale jednocześnie przewija mi listę na samą górę (tego chcę uniknąć). Generalnie chcę aby użytkownik mógł sobie przeglądać ten ListBox zanim jeszcze będzie on do końca wypełniony danymi (które się wolno ściągają ze wzmacniacza przez sieć). > Zawsze się możesz posrednio zbindować do kolekcji za > pomocą DataSource, zmieniać kolekcję i tylko wymuszać > odrysowanie Refresh'em. Dzięki za naprowadzenie. Ewentualnie spróbuję ten metody. >> Nie wiem czy to ma znaczenie ale program ma kilka wątków i dodałem >> linijkę dla uproszczenia programowania: >> CheckForIllegalCrossThreadCalls = false; > > To źle. Tak trudno jest zrobić Invoke zamiast polegać na "na chwilę > obecną działa"? Pozdrawiam, Marek
Technical Details
Message-ID:
<k094d5$1nj$1@inews.gazeta.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mailReferences:
<k08pk9$ebo$1@inews.gazeta.pl> <7rx079dw821n.1yql5mim1cbp.dlg@40tude.net>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail From: Netx <nospam@gazeta.pl> Newsgroups: alt.pl.comp.lang.csharp Subject: Re: ListBox przewija się do góry przy zmianie zawartości. Date: Sun, 12 Aug 2012 22:41:07 +0200 Organization: "Portal Gazeta.pl -> http://www.gazeta.pl" Lines: 49 Message-ID: <k094d5$1nj$1@inews.gazeta.pl> References: <k08pk9$ebo$1@inews.gazeta.pl> <7rx079dw821n.1yql5mim1cbp.dlg@40tude.net> NNTP-Posting-Host: 87-206-21-121.dynamic.chello.pl Mime-Version: 1.0 X-Trace: inews.gazeta.pl 1344804069 1779 87.206.21.121 (12 Aug 2012 20:41:09 GMT) X-Complaints-To: usenet@agora.pl NNTP-Posting-Date: Sun, 12 Aug 2012 20:41:09 +0000 (UTC) X-User: gigabyte In-Reply-To: <7rx079dw821n.1yql5mim1cbp.dlg@40tude.net> User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20120428 Thunderbird/12.0.1 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit