🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: alt.pl.comp.lang.csharp
Article #10062

Re: Zachowanie stanu w TreeView

#10062
From: Hilarion
Date: Thu, 17 Nov 2005 13:38
41 lines
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-mail
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>

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