|
0 / 0 / 0
Регистрация: 05.02.2016
Сообщений: 21
|
||||||
Как обойтись без невидимых списков?14.02.2016, 06:51. Показов 1244. Ответов 28
Метки нет (Все метки)
здравствуйте.
пишу один проект на C#. ниже приведу код а потом вопрос.
мне в функциях нужны соответственно artist, title, url, id, ownerid в соответствии выбранного индекса в списке. как можно обойтись без невидимых списков? спасибо заранее за помощь.
0
|
||||||
| 14.02.2016, 06:51 | |
|
Ответы с готовыми решениями:
28
Как обойтись без вложенного цикла?
Мессенджер: можно ли обойтись без БД |
|
0 / 0 / 0
Регистрация: 05.02.2016
Сообщений: 21
|
|
| 14.02.2016, 07:54 [ТС] | |
|
можете показать простенький пример?
мне нужно, чтобы в списке отображался только title а остальные artist, id, ownerid, url можно былобы вызвать в других функциях. спасибо
0
|
|
|
14291 / 9376 / 1352
Регистрация: 21.01.2016
Сообщений: 35,332
|
|
| 14.02.2016, 07:58 | |
|
Я вам привёл ссылки на статьи, в них есть примеры, простые и доступные. Если вам покажутся сложными, то вы всегда сможете найти другие поискав "WinForms ListBox Binding"
0
|
|
|
0 / 0 / 0
Регистрация: 05.02.2016
Сообщений: 21
|
||||||
| 14.02.2016, 09:25 [ТС] | ||||||
|
здравствуйте.
я попробовал сделать databinding, хотя незнаю, правильно или нет. еще тут есть только display member в котором я могу выводить title и valuemember в котором я могу вывести url. куда девать остальные свойства?
0
|
||||||
|
14291 / 9376 / 1352
Регистрация: 21.01.2016
Сообщений: 35,332
|
|||||||
| 14.02.2016, 11:13 | |||||||
|
1. Переопределить событие отрисовки элемента в ListBox и самому рисовать его содержимое. Это не сложно. 2. Использовать ListView, который предоставит вам возможность выводить записи в виде таблицы. 3. Используйте DataGridView. Этот вариант тоже выводит записи в табличной форме, но с ним проще управиться. Вот пример последнего подхода: Кликните здесь для просмотра всего текста
Выглядит оно так:
0
|
|||||||
|
14291 / 9376 / 1352
Регистрация: 21.01.2016
Сообщений: 35,332
|
||||||
| 14.02.2016, 11:28 | ||||||
|
А вот первый вариант:
Кликните здесь для просмотра всего текста
Выглядит о так:
0
|
||||||
|
0 / 0 / 0
Регистрация: 05.02.2016
Сообщений: 21
|
||||||
| 14.02.2016, 12:54 [ТС] | ||||||
|
здравствуйте еще раз.
простите если что-то не понял. немогу понять, почему не работает так.
0
|
||||||
|
14291 / 9376 / 1352
Регистрация: 21.01.2016
Сообщений: 35,332
|
||
| 14.02.2016, 13:09 | ||
|
Я же, вроде бы, понятно выразился:
Есть ещё более простой пример - переопределите метод ToString() класса, который хранится в коллекции AudioList и не задавайте значения свойствам DisplayMember и ValueMember. Тогда у вас будет отображаться тот текст, который вы зададите в методе ToString().
0
|
||
|
0 / 0 / 0
Регистрация: 05.02.2016
Сообщений: 21
|
||||||
| 14.02.2016, 15:24 [ТС] | ||||||
|
простите меня, но все сторания сделать что-то не к чему не приводят.
если можете пожалуйста подсказать в чем дело? буду очень признателен.
0
|
||||||
|
14291 / 9376 / 1352
Регистрация: 21.01.2016
Сообщений: 35,332
|
||
| 14.02.2016, 15:52 | ||
|
По поводу кода. Сразу в глаза бросилась строка listBox1.DrawItem += listBox1_DrawItem; в обработчике события. Такой код при каждом нажатии клавиши будет добавлять по одному обработчику к листбоксу. Перенесите это в конструктор вашей формы.В методе listBox1_KeyDown_1 вообще вакханалия творится - я даже комментировать такое не хочу... У листбокса есть свойство SelectedIndex, его можно использовать для получения объекта из коллекции AudioList.
0
|
||
|
0 / 0 / 0
Регистрация: 05.02.2016
Сообщений: 21
|
|||||||||||
| 14.02.2016, 16:43 [ТС] | |||||||||||
|
здравствуйте.
поповоду lisbbox1.keydownevent наверно должно быть так.
строку listBox1.DrawItem += listBox1_DrawItem; перенес в public mainForm() остальная функция выглядит так.
0
|
|||||||||||
|
14291 / 9376 / 1352
Регистрация: 21.01.2016
Сообщений: 35,332
|
|
| 14.02.2016, 17:04 | |
|
При использовании собственного отрисовщика вам не требуется задавать свойства
DisplayMemberи ValueMember. DrawMode меняйте перед ItemDraw += в конструкторе формы.И что значит "оно не перерисовывается"? При обновлении списка не обновляется контрол? Или что?
0
|
|
|
0 / 0 / 0
Регистрация: 05.02.2016
Сообщений: 21
|
||||||
| 14.02.2016, 17:19 [ТС] | ||||||
|
да, когда задается поиск, вместо того чтобы отобразить исполнителя и названия отображаются цифры.
вот такой текущий код.
0
|
||||||
|
14291 / 9376 / 1352
Регистрация: 21.01.2016
Сообщений: 35,332
|
|
| 14.02.2016, 17:36 | |
|
Строка №43: поставьте на ней "точку останова" (breakpoint), потом наведите курсор мыши на переменную
AudioList и изучите его содержимое. Сдаётся мне, что вам уже в коллекции что-то не то приходит. Если же там всё нормально, то приведите скриншот того, что вы видите.
0
|
|
|
0 / 0 / 0
Регистрация: 05.02.2016
Сообщений: 21
|
|
| 14.02.2016, 18:07 [ТС] | |
|
ксожалению отладчик плохо озвучивается в студии для програм экранного доступа.
я попробовал сделать скрин https://onedrive.live.com/redi... hoto%2cpng
0
|
|
|
14291 / 9376 / 1352
Регистрация: 21.01.2016
Сообщений: 35,332
|
|||||||||||
| 14.02.2016, 18:17 | |||||||||||
|
К сожалению скриншот вышел неудачно - ничего полезного он не отобразил.
Попробуем "колхозный" вариант: замените код
0
|
|||||||||||
|
0 / 0 / 0
Регистрация: 05.02.2016
Сообщений: 21
|
|
| 14.02.2016, 18:28 [ТС] | |
|
да отображается название первой записи.
0
|
|
|
14291 / 9376 / 1352
Регистрация: 21.01.2016
Сообщений: 35,332
|
||
| 14.02.2016, 18:45 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 05.02.2016
Сообщений: 21
|
|
| 14.02.2016, 18:48 [ТС] | |
|
вот что-то типа того.
audio13197742_89402338 такое чувство, что он просто не задействован.
0
|
|
| 14.02.2016, 18:48 | |
|
Помогаю со студенческими работами здесь
20
Как обойтись без x Как обойтись без x
Как обойтись без списка? Как обойтись без капчи Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|