- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
if (!passFlag)
{
switch (GetTreeNodeName)
{
case "group":
{
if (GetTreeNode.Parent.Parent.Parent.Parent.Name != "StudySchedule")
{
StudentCard studentCard = new StudentCard(ExploreTree.SelectedNode.Text,
ExploreTree.SelectedNode.Parent.Parent.
Text,
ExploreView.SelectedItems[0]);
studentCard.MdiParent = this.MdiParent;
studentCard.Show();
break;
}
else
{
StudySchedule schedule=new StudySchedule(ExploreView.SelectedItems[0], ExploreTree.SelectedNode.Parent.Nodes);
schedule.MdiParent = this.MdiParent;
schedule.Show();
break;
}
}
http://govnokod.ru/1895
Что ему весь архив сайта просматривать?
(http://govnokod.ru/1895)
Если нельзя, то думаю, этот способ самый быстрый, чтобы достичь предка, хотя и выглядит смешно.
Повторюсь, в Си Шарпе не разбираюсь.
А нужно почитать книжку про ООП и подумать как замапить объект на GUI, и те данные которые здесь получаются таким извращённым способом, получить из объекта.
ps. как постер говнокода #1895, минус не поставлю :) потому что очевидно, что автор этого говна немного недопонимает сути.
Чтобы не было говна.
Я больше чем уверен, что в этом же приложении куча подобных конструкций в коде, а это значит что использование человеческой объектной модели избавит от многих проблем.
Но начать, в общем, можно отсюдова
http://msdn.microsoft.com/en-us/library/aa984099(VS.71).aspx
GetTreeNode.Parent.Parent.Parent.Parent. Name =>
GetTreeNode.Grandfather.Grandfather.Name !
Вот экономия! ))))))))
if(parent==0 || current.Parent==null){
return current;
}
return GetXParent(current.Parent,i-1);
}