Article View: alt.pl.comp.lang.csharp
Article #10062Re: Zachowanie stanu w TreeView
From: Hilarion
Date: Thu, 17 Nov 2005 13:38
Date: Thu, 17 Nov 2005 13:38
41 lines
2526 bytes
2526 bytes
>> if ( tSearchNode != null )
>> for ( int iLevel=1; iLevel<nodePathPart.Length; iLevel++ )
>> {
>> tSearchLevel = null;
>> foreach ( TreeNode tC in tSearchNode.Nodes )
>> if ( tC.Text == nodePathPart[iLevel] )
>> {
>> tSearchLevel = tC;
>> tSearchLevel.EnsureVisible();
>> tSearchLevel.Expand();
>> break;
>> }
>>
>> if ( tSearchLevel != null )
>> {
>> tSearchNode = tSearchLevel;
>> }
>> else
>> break;
>> }
>
>
> Znalazlem maly blad w tym kodzie. Mianowicie, jezeli przy tych petlach zostana te <breaki> program nie dojdzie do konca wezlow,
> wyskoczy po dwoch. Zamiana <break> na <continue> zalatwia sprawe.
Które "break"? Wewnętrzny "break" jak zmienisz na "continue", to pętla "foreach"
przeglądnie wszystkie węzły zamiast zatrzymać się po znalezieniu właściwego.
Jak wyrzucisz drugi - bardziej zewnętrzny - to zewnętrzna pętla "for" będzie
"szukać" kolejnego poziomu w sytuacji kiedy nie znaleziono bieżącego.
Co znaczy "wyskoczy"? Po jakich dwóch? Dwóch poziomach? Dwóch węzłach danego
poziomu? Jesteś pewien, że wyszukiwany "path" jest do znalezienia?
> PS. Trzeba tez wyrzucic EnsureVisible - bo inaczej kontrolka "podskakuje", chcac co chwila ustawic sie na "widzialny wezel".
Można wyrzucić, bo jest też wywoływany na końcu po znalezieniu. Można też wyłączyć
odmalowywanie kontrolki na czas wyszukiwania (chyba BeginUpdate() albo coś w ten
deseń).
Hilarion
Technical Details
Message-ID:
<dli12p$9rl$1@news.onet.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mailReferences:
<dlf3ot$gkm$1@inews.gazeta.pl> <dlf5vq$ahk$1@nemesis.news.tpi.pl> <dlg7sm$mf5$1@inews.gazeta.pl> <dlgcmv$4tr$1@atlantis.news.tpi.pl> <dlhtup$fev$1@inews.gazeta.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mail From: "Hilarion" <hilarion@SPAM.op.SMIECI.pl> Newsgroups: alt.pl.comp.lang.csharp Subject: Re: Zachowanie stanu w TreeView Date: Thu, 17 Nov 2005 14:38:34 +0100 Organization: Onet.pl Lines: 42 Message-ID: <dli12p$9rl$1@news.onet.pl> References: <dlf3ot$gkm$1@inews.gazeta.pl> <dlf5vq$ahk$1@nemesis.news.tpi.pl> <dlg7sm$mf5$1@inews.gazeta.pl> <dlgcmv$4tr$1@atlantis.news.tpi.pl> <dlhtup$fev$1@inews.gazeta.pl> NNTP-Posting-Host: fw.elfin.pl Mime-Version: 1.0 X-Trace: news.onet.pl 1132234649 10101 213.25.37.46 (17 Nov 2005 13:37:29 GMT) X-Complaints-To: usenet@news.onet.pl NNTP-Posting-Date: Thu, 17 Nov 2005 13:37:29 +0000 (UTC) X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2670 X-Sender: 9KSiimrLScNqWiVTMiVMJQ== X-Newsreader: Microsoft Outlook Express 6.00.2900.2670 X-Priority: 3 X-MSMail-Priority: Normal Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit