|
Переопределить TreeNode
|
|||
---|---|---|---|
#18+
Уважаемые форумчане! Прошу подтянуть понимание моё понимание ООП))... Мне необходимо добавить свойство в класс TreeNode типа Boolan, например, обозначающее признак двойного клика на ветке. Для этого я создал новый класс rsTreeNode, дочерний от TreeNode. Добавил новое свойство, и при создании ветки в TreeView передаю экземпляр моего класса в метод: Код: c# 1.
Отсюда вопрос, теряется ли в данном случае моё новое свойство, и вообще, ветка, которую я создал в TreeView имеет тип TreeNode? Или нужно переопределять все методы, применяемые в классе TreeView с класса TreeNode на класс rsTreeNode? Свойство Tag использовать не охота - хочется понять сам принцип. Заранее благодарен!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2014, 16:45 |
|
Переопределить TreeNode
|
|||
---|---|---|---|
#18+
sahnovich, много букав sahnovichДля этого я создал новый класс rsTreeNode, дочерний от TreeNode на этом всё , этот нод имеет тип rsTreeNode. (точка) sahnovichОтсюда вопрос, теряется ли в данном случае моё новое свойство нет sahnovichи вообще, ветка, которую я создал в TreeView имеет тип TreeNode? да Или нужно переопределять все методы, применяемые в классе TreeView с класса TreeNode на класс rsTreeNode? какие тебе нужно, такие и переопределяй ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2014, 17:12 |
|
Переопределить TreeNode
|
|||
---|---|---|---|
#18+
pation, спасибо за ответ. т.е., если я захочу получить экземпляр обратно и вытянуть из него моё свойство, так должно получиться? Код: c# 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2014, 17:52 |
|
Переопределить TreeNode
|
|||
---|---|---|---|
#18+
sahnovich Или нужно переопределять все методы, применяемые в классе TreeView с класса TreeNode на класс rsTreeNode? Я имел в виду, что все методы класса TreeView возвращают класс TreeNode, в котором собственно, моего свойства (не говоря о его значении), нету. И прямым приведением типов я смогу получить значение свойства класса rsTreeNode? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2014, 17:56 |
|
Переопределить TreeNode
|
|||
---|---|---|---|
#18+
sahnovich, Просто интересно, двойной клик на ветке ( не изменяет память) раскрывает или схлапывает ветку для этого есть свойство исекспандед в какой то момент у вас ваще может получится что все ноды сидят с дойным кликом гы даже если и стоит задача расширить свойства типа в местечковом варианте , можно воспользоваться расширением у нодов есть свойство tag туда можно совать всякие пользовательские извращения ( упаковка для значений) public static bool IsDoubleClick(this TreeNode node) { if (node.Tag == null) return false; return (bool) node.Tag; } ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2014, 18:34 |
|
Переопределить TreeNode
|
|||
---|---|---|---|
#18+
что то подумал, а вот вопрос к знатокам: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2014, 21:58 |
|
Переопределить TreeNode
|
|||
---|---|---|---|
#18+
Где-то в степи, Спасибо, про свойство ещё не знал, может пригодиться, но мне это свойство будет необходимо и для не раскрывающихся звеньев. Вопрос стоит как раз из-за того, что свойством tag ограничиться не получится, свойств будет несколько. И вообще, вопрос стоял не о том, как обойти данный просвет в моих знаниях, а о том, как в такой интерпретации будет вести себя свойство (ничего личного). Тема остается открытой. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2014, 23:23 |
|
Переопределить TreeNode
|
|||
---|---|---|---|
#18+
sahnovich, авторчто свойством tag ограничиться не получится, свойств будет несколько. это вы по незнанке утверждаете, я вам предложил как альтернативу наследованию, но в реалии свойство tag as object, вы можете туда положить вселенную, с миллиардами выдуманными свойств - "крейсер в стакане" (с) ps не ломайте психику - почитайте базовые постулаты.. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2014, 00:04 |
|
|
start [/forum/topic.php?fid=20&msg=38744561&tid=1402486]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
others: | 327ms |
total: | 464ms |
0 / 0 |