![]() |
|
Модераторы: gambit, Partizan |
![]()
|
|
| xTr1m |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 692 Регистрация: 9.2.2005 Где: Москва Репутация: нет Всего: 1 |
Добрый день. собственно сильно не бейте плз =)) при переходе на C# с C++ понял, что не знаю как это реализовано. В частности, если есть список чего-либо (или грид) , то каждая строчка содержит информацию о чем то конкретном ( о сотруднике, предприятии, машине и т.п.). Премного благодарен.
P.S. Может этот механизм вообче как то по-другому реализован? =)) |
|||
|
||||
| xTr1m |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 692 Регистрация: 9.2.2005 Где: Москва Репутация: нет Всего: 1 |
Наверно криво объяснил ситуацию. У меня есть таблица, допустим, каждая строка описывает модель компьютера. В MFC я мог записать
где prtComputer - указатель на объект, описывающий компьютер. Таким образом, потом при, скажем, двойном щелчке мыши на строке такой таблицы, я мог показать свойства этого компьютера примерно так
А как реализовать подобное на С# это? |
||||
|
|||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 9 Всего: 67 |
xTr1m, кидается DataGridView или ListView
DataGridView более сложный контрол, и наверное не нужен в этом случае... вот пример из MSDN для ListView:
-------------------- СУВ, Partizan. |
|||
|
||||
| xTr1m |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 692 Регистрация: 9.2.2005 Где: Москва Репутация: нет Всего: 1 |
Спасибо, но вопрос был все-таки немного о другом. Нельзя ли с каждой строкой с ассоциировать некий объект. Причем это может быть объект любого типа: int , string, свой класс?
Наверно, что то типа переменной variant в Basic |
|||
|
||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 9 Всего: 67 |
xTr1m, у каждого ListvViewItem есть свойство Tag
Это сообщение отредактировал(а) Partizan - 22.9.2008, 19:49 -------------------- СУВ, Partizan. |
|||
|
||||
| xTr1m |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 692 Регистрация: 9.2.2005 Где: Москва Репутация: нет Всего: 1 |
Мммм, спасибо еще раз =)). То есть Tag принимает любой объект, унаследованный от Object. А в C# любой созданный класс автоматом наследуется от Object?
То есть, если я напишу свой класс (условный код)
То я потом и его смогу "засунуть" в Tag. Извиняюсь, что спрашиваю, просто до Студии не могу добраться )) |
|||
|
||||
| Freak_FB |
|
|||
![]() Ктулхувед ![]() ![]() Профиль Группа: Участник Сообщений: 296 Регистрация: 13.10.2006 Репутация: 2 Всего: 4 |
Все объекты являются потомками класса Object. Поэтому любой объект иможно положить в Tag.
Если используешь ListBox - можно через метод Add() добавлять непосредственно объект, а не строку. В таком случае для отображения объекта нужно переопределить метод ToString(). За другими компонентами такой функциональности, вроде бы, не замечено. |
|||
|
||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 9 Всего: 67 |
почитайте про boxing/unboxing в .NET
-------------------- СУВ, Partizan. |
|||
|
||||
| QryStaL |
|
|||
![]() Intellectual feast ![]() ![]() Профиль Группа: Участник Сообщений: 914 Регистрация: 30.11.2005 Репутация: 3 Всего: 32 |
boxing/unboxing - это немного другое. Здесь просто полиморфизм.
-------------------- I don't need a reason being who I am... |
|||
|
||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 9 Всего: 67 |
Никакого полиморфизма тут и в помине нет...возможно вы имели ввиду наследование...да..за счёт наследования наследник System.Object легко приводится к базовому типу
тем более когда мы суём value type в ListViewItem.Tag происходит как раз таки boxing/unboxing... -------------------- СУВ, Partizan. |
|||
|
||||
| QryStaL |
|
|||
![]() Intellectual feast ![]() ![]() Профиль Группа: Участник Сообщений: 914 Регистрация: 30.11.2005 Репутация: 3 Всего: 32 |
Нет, я имел в виду как раз полиморфизм.
А boxing/unboxing будет только для value типов, то есть не всегда. -------------------- I don't need a reason being who I am... |
|||
|
||||
| xTr1m |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 692 Регистрация: 9.2.2005 Где: Москва Репутация: нет Всего: 1 |
всем спасибо, разобрался
|
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Разработка Windows Forms | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |