Модератор: BV
Это очень хорошо . Щас вот только группировку отлажу (немножко математики осталось) и все, можно в плавание пускать.Debugger писал(а):Солидно . Слеплен хорошо, отторжения не вызывает. Почему-то мне захотелось его использовать в моих проектах
Скачал тестовый проект. Скорость действительно "никакая". Нужна оптимизация.1)Это относится к исходнику (соответственно и к первому контролу) или же к тестовой версии с группировкой (или и к тому и к другому сразу)?
MIT писал(а):Ну да, форма. Как по другому сделать - не знаю, вот форму и взял. Выглядит пока не очень, но когда подделаюсь под виндовый стиль покрасивее будет.
added: Винда же тоже форму создает вроде. По крайней мере очень на то похоже.
Прям аж приятноScarabey писал(а):Ну, что могу сказать на первый взгляд все отлично!
MIT писал(а):Хотелось бы узнать мнение большинства на тему "что делать с перемещаемыми элементами при потере фокуса контролом?". Варианты ответа лежат постом выше, хотя можно и свои предлогать.
MIT писал(а):Хотелось бы узнать мнение большинства на тему "что делать с перемещаемыми элементами при потере фокуса контролом?".
MIT писал(а):Например если пользователь нежмет alt+tab при драгдропе и переключится на другое окно
MIT писал(а):Контрол почти доведен до ума, осталось лишь решить маленькую проблемку, обернуть в юзабельный контрол и фсе. В качестве примера доделаю парсер списка пользователей этого форума (заодно это станет проверкой этой юзадельности) с аваторами (по принципу "аватор - имя, рейтинг и подпись") и выложу сюда.
Вопрос-между-делом: а как можно обозвать контрол? На *Ex он не тянет - ибо не надстройка он, а альтернатива. Предлогайте варианты!
InvaliOperationException писал(а):Ошибка при создании формы. См. Exception.InnerException. Ошибка: Попытка чтения или записи в защищенную память. Это часто свидетельствует о том, что другая память повреждена.
StackTrace писал(а):в CDListView.Mitirus.Graphics.GLayer.Resize(Size NewSize, DataPreserveMethod PreserveData)
в CDListView.Drawlv.冓(Object sender, EventArgs e)
в System.Windows.Forms.Control.OnResize(EventArgs e)
в System.Windows.Forms.UserControl.OnResize(EventArgs e)
в System.Windows.Forms.Control.OnSizeChanged(EventArgs e)
в System.Windows.Forms.Control.UpdateBounds(Int32 x, Int32 y, Int32 width, Int32 height, Int32 clientWidth, Int32 clientHeight)
в System.Windows.Forms.Control.UpdateBounds(Int32 x, Int32 y, Int32 width, Int32 height)
в System.Windows.Forms.Control.SetBoundsCore(Int32 x, Int32 y, Int32 width, Int32 height, BoundsSpecified specified)
в System.Windows.Forms.Control.SetBounds(Int32 x, Int32 y, Int32 width, Int32 height, BoundsSpecified specified)
в System.Windows.Forms.Control.set_Location(Point value)
в CDLV_Test.Form1.InitializeComponent()
в C:\Documents and Settings\Nord777\Desktop\CDLV_Test\Form1.Designer.vb:строка 240
в CDLV_Test.Form1..ctor()
Так ведь предпоследние ж!Nord777 писал(а):Глюки говоришь исправил?
Ммм... надо подумать...Nord777 писал(а):InvaliOperationException писал(а):
Старался1Steps писал(а):1. Приличный внешний вид.
2. Симпатично выглядит Драг-дроп.
Возможно - на нормальном инете не проверял.1Steps писал(а):3. Приличные тормоза при загрузке юзеров.(Интернет у меня кабельный и очень быстрый)
да, тормоза присутствуют, но я бы не назвал их ужасными... хотя оптимизировать есть куда.1Steps писал(а):4. Ужасные тормоза при скроле. Можно скрол опустить более половины и пару секунд ждать пока это действие сработает.
По поводу этого в коде формы есть комментарий. Все дело из-за перерисовки оверлея, которая происходит при изменении размера контрола (читай и формы), отключив обработку которой такие тормоза можно исключить. В целях оптимизации процесс ресайза и так был разделен на горизонтальный и вертикальный, но т.к. события ResizeEnd у контрола не может быть по определению, то с этим пришлось смириться.1Steps писал(а):5. Если свернуть форму и развернуть, прорисовку формы нужно ждать ровно три секунды.(Засёк.)
Вот это, согласен, слабая сторона - нормально работать с большим расрешением весьма проблематично.1Steps писал(а):Всё перечисленное выше производилось в FormWindowState=Maximized
Происходит. Ты просто не заценил фишки, которая заключатся в следующем: контрол можно скроллить не только с помощью скроллбара, но и клавишами Up и Down (стрелочки); при выключенном "InfinityScroll" при достижении последнего (первого) элемента и последующем нажатии на стрелочку вниз (вверх) ничего не произойдет, в то время, как при включенной опции, после нажатия соответствующей кнопки, выделение перескочит в самое начало (самый конец).1Steps писал(а):Ни чего не происходит при установке(снятии) чекбокса InfinityScroll.
Да, так и задумано. Данный режим предполагался для использования в ограниченной ширине, и поскольку много текста в маленькую площадь не упихать был придуман этот режим, который отображает только картинки, для большей гармоничности центрируя их и делая невыделенные элементы полупрозрачными.1Steps писал(а):Чек mini-mode, убирает весь текст и перерисовывает аватары посередине контрола. Это так задуманно?
Чтобы сильно тебя не мучать дам направление.Ммм... надо подумать...
1Steps писал(а):Чек mini-mode, убирает весь текст и перерисовывает аватары посередине контрола. Это так задуманно?
Да, так и задумано.
Не додумался. И на мой взгляд никому не нужная фича.1Steps писал(а):Ни чего не происходит при установке(снятии) чекбокса InfinityScroll.
Происходит. Ты просто не заценил фишки
Не ужасными , можно назвать те тормоза, которые тормозят плавно(внешне). В данном случае все происходит рывками и не понятно по какому принципу, а так-же с большим запозданием.1Steps писал(а):4. Ужасные тормоза при скроле. Можно скрол опустить более половины и пару секунд ждать пока это действие сработает.
да, тормоза присутствуют, но я бы не назвал их ужасными...
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 39