Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Переопределить TreeNode / 9 сообщений из 9, страница 1 из 1
11.09.2014, 16:45
    #38744442
sahnovich
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переопределить TreeNode
Уважаемые форумчане!
Прошу подтянуть понимание моё понимание ООП))...
Мне необходимо добавить свойство в класс TreeNode типа Boolan, например, обозначающее признак двойного клика на ветке.
Для этого я создал новый класс rsTreeNode, дочерний от TreeNode. Добавил новое свойство, и при создании ветки в TreeView передаю экземпляр моего класса в метод:
Код: c#
1.
TreeView.Nodes.Add(rsTreeNode)


Отсюда вопрос, теряется ли в данном случае моё новое свойство, и вообще, ветка, которую я создал в TreeView имеет тип TreeNode? Или нужно переопределять все методы, применяемые в классе TreeView с класса TreeNode на класс rsTreeNode?
Свойство Tag использовать не охота - хочется понять сам принцип.
Заранее благодарен!!!
...
Рейтинг: 0 / 0
11.09.2014, 17:12
    #38744495
pation
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переопределить TreeNode
sahnovich,

много букав

sahnovichДля этого я создал новый класс rsTreeNode, дочерний от TreeNode
на этом всё , этот нод имеет тип rsTreeNode. (точка)
sahnovichОтсюда вопрос, теряется ли в данном случае моё новое свойство
нет

sahnovichи вообще, ветка, которую я создал в TreeView имеет тип TreeNode?
да

Или нужно переопределять все методы, применяемые в классе TreeView с класса TreeNode на класс rsTreeNode?
какие тебе нужно, такие и переопределяй
...
Рейтинг: 0 / 0
11.09.2014, 17:52
    #38744558
sahnovich
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переопределить TreeNode
pation, спасибо за ответ.
т.е., если я захочу получить экземпляр обратно и вытянуть из него моё свойство, так должно получиться?
Код: c#
1.
2.
rsTreeNode trn = new rsTreeNode();
trn = treeView1.SelectedNode as rsTreeNode;
...
Рейтинг: 0 / 0
11.09.2014, 17:56
    #38744561
sahnovich
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переопределить TreeNode
sahnovich Или нужно переопределять все методы, применяемые в классе TreeView с класса TreeNode на класс rsTreeNode?
Я имел в виду, что все методы класса TreeView возвращают класс TreeNode, в котором собственно, моего свойства (не говоря о его значении), нету. И прямым приведением типов я смогу получить значение свойства класса rsTreeNode?
...
Рейтинг: 0 / 0
11.09.2014, 18:34
    #38744605
Где-то в степи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переопределить TreeNode
sahnovich,
Просто интересно,
двойной клик на ветке ( не изменяет память) раскрывает или схлапывает ветку для этого есть свойство исекспандед
в какой то момент у вас ваще может получится что все ноды сидят с дойным кликом гы
даже если и стоит задача расширить свойства типа в местечковом варианте , можно воспользоваться расширением
у нодов есть свойство tag туда можно совать всякие пользовательские извращения ( упаковка для значений)
public static bool IsDoubleClick(this TreeNode node)
{
if (node.Tag == null) return false;
return (bool) node.Tag;
}
...
Рейтинг: 0 / 0
11.09.2014, 21:58
    #38744684
Где-то в степи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переопределить TreeNode
что то подумал, а вот вопрос к знатокам:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
    sealed class MyClass
    {
         
    }
    static class Helper
    {
        public static bool IsSomething(this MyClass myClass)
        {
            // что тут можно записать?(не используя списки)
        }
    }
...
Рейтинг: 0 / 0
11.09.2014, 23:23
    #38744707
sahnovich
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переопределить TreeNode
Где-то в степи,
Спасибо, про свойство ещё не знал, может пригодиться, но мне это свойство будет необходимо и для не раскрывающихся звеньев.
Вопрос стоит как раз из-за того, что свойством tag ограничиться не получится, свойств будет несколько.
И вообще, вопрос стоял не о том, как обойти данный просвет в моих знаниях, а о том, как в такой интерпретации будет вести себя свойство (ничего личного).
Тема остается открытой.
...
Рейтинг: 0 / 0
12.09.2014, 00:04
    #38744721
Где-то в степи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переопределить TreeNode
sahnovich,
авторчто свойством tag ограничиться не получится, свойств будет несколько.
это вы по незнанке утверждаете, я вам предложил как альтернативу наследованию, но в реалии
свойство tag as object, вы можете туда положить вселенную, с миллиардами выдуманными свойств -
"крейсер в стакане" (с)
ps не ломайте психику - почитайте базовые постулаты..
...
Рейтинг: 0 / 0
12.09.2014, 09:34
    #38744851
sahnovich
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переопределить TreeNode
Где-то в степи,
это вы по незнанке утверждаете
согласен, и не отрицаю))
tag as object
спасибо!!! это мне как раз подходит
авторпочитайте базовые постулаты
читаю, вот на конкретных примерах и разбираюсь)
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Переопределить TreeNode / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]