kimster Опубликовано 9 апреля, 2009 Жалоба Share Опубликовано 9 апреля, 2009 Здраствуйте!Не подскажете как сделать чтобы при выводе боьшоо количества информации форма (окно), textbox, listbox не висели до тех пор пока не закончит действие программа. Не обязательно texbox или listbox, если есть др варианты быстрого вывода инфы без подвисания....плиз помогите=) Ссылка на комментарий Поделиться на другие сайты More sharing options...
-oYo-monAna.?. Опубликовано 10 апреля, 2009 Жалоба Share Опубликовано 10 апреля, 2009 Привет. Если действительно подвисает, можно попробывать с помощью backgroundWorker-а порциями выкладывать данные на форму (неважно в какой элемент управления). Ссылка на комментарий Поделиться на другие сайты More sharing options...
kimster Опубликовано 10 апреля, 2009 Автор Жалоба Share Опубликовано 10 апреля, 2009 СПС.Попробую.....а что по идее не должно подвисать если допустим 10000 строк надо выводить.....и что еще плохо....скролинг не работает тк форма висит до тех пор пока все не выполнит((......какие нибудь по быстрее есть поля для вывода??........ Ссылка на комментарий Поделиться на другие сайты More sharing options...
MpakV Опубликовано 10 апреля, 2009 Жалоба Share Опубликовано 10 апреля, 2009 А зачем именно в TextBox то? Для больших текстов лучше брать TextArea, либо Label. Так же можно(как предлагалось ранее) добавлять текст в отдельном потоке, или же сначала добваить весь текст а потом показывать компонент. Ссылка на комментарий Поделиться на другие сайты More sharing options...
kimster Опубликовано 10 апреля, 2009 Автор Жалоба Share Опубликовано 10 апреля, 2009 НУ сторока примерно такая: textbox.text+="1. Время Заголовок Размер Тип"+\р\н; .......и таких много строк.......думал разбить по листбоксам......но ситуация такая же....Вить, мне интерактив нужен......появилась строка->выделить ее-?скопировать итд.....получается надо чтоб вывод был в одном потоке а другие операции в другом?? Ссылка на комментарий Поделиться на другие сайты More sharing options...
MpakV Опубликовано 10 апреля, 2009 Жалоба Share Опубликовано 10 апреля, 2009 Для начала попробуй не таскать за собой кучу строк, их копирование, перемещение, сборку мусора и многое друге. Используй textbox.apped вместо textbox.text+=. И можно узнать что в итоге должно быть? Может быть есть какойнить метод по проще, где таких проблем нет. Ссылка на комментарий Поделиться на другие сайты More sharing options...
kimster Опубликовано 10 апреля, 2009 Автор Жалоба Share Опубликовано 10 апреля, 2009 public void SetText(string text) { if (textbox1.InvokeRequired) { textbox1.Invoke(new SetTextCallback(SetText), text); } else { textbox1.Text += text; textbox1.Refresh(); } } вот так пока что решил проблему...... Ссылка на комментарий Поделиться на другие сайты More sharing options...
kimster Опубликовано 11 апреля, 2009 Автор Жалоба Share Опубликовано 11 апреля, 2009 еще 1 маленький воспрос..............как сделать чтоб в текстбоксе не было автоскроллинга......при выводе новых значений он все время возвращается к началу....а мне бы покрутить скроллбар, чтоб любойэлемент посмотреть можно было.... Ссылка на комментарий Поделиться на другие сайты More sharing options...
MpakV Опубликовано 13 апреля, 2009 Жалоба Share Опубликовано 13 апреля, 2009 Видимо, то что я говорил, прошло мимо ушей. Насчет скролинга - делай setCarrentPosition(или как-то так по смыслу). Ссылка на комментарий Поделиться на другие сайты More sharing options...
BearKing Опубликовано 18 апреля, 2009 Жалоба Share Опубликовано 18 апреля, 2009 Закрыто. В этой ветке существует соответствующая тема! Ссылка на комментарий Поделиться на другие сайты More sharing options...
Рекомендуемые сообщения
Заархивировано
Эта тема находится в архиве и закрыта для дальнейших ответов.