none
russia union RRS feed

  • Вопрос

  • Добрый день. Было немного стыдно задавать этот вопрос, ибо решение моей проблемы наверняка тривиальное, но до него я не додумался. Такая проблема - необходимо на форме сделать кнопку "Печать", чтобы она распечатывала содержимое richtTextBox (ну или же файла, в котором содержится информация из richTextBox). В файле (текстовом) информация неформатирована, т.е. переносов со строк почти нет. Я сделал код, который в цикле streamreader.ReadLine()!=null выводил бы на печать построчно, но так как в файле нет автоматического переноса в случае "пересечения" строкой границы файла, то получился лист бумаги с тремя строки, вылазиющими за поля. Подскажите, пожалуйста, как правильно организовать нужный мне цикл обработки строк, заранее спасибо.  
    4 апреля 2011 г. 13:21

Ответы

Все ответы

  • Добрый вечер, russia union !
    Вам, наверное, лучше не печатать из файла, а предварительно загрузить неформатированный текст в RichTextBox.
    Текст длинной строки, внутри этого элемента автоматически форматируется.
    -------
    Пользователь сможет посмотреть, что у него получится на печати. Это удобно.
    4 апреля 2011 г. 17:33
    • Помечено в качестве ответа russia union 5 апреля 2011 г. 14:44
    4 апреля 2011 г. 18:15
  • Попробывал, печатая содержимое richTextBox, но получилось то же самое. А в статьях, которые скинул NIKkakNIK вообще видимо старые версии компонентов, ибо например там используется richTextBox со свойством Document, которого у меня (VS 2008, последний framework) вообще нет у объектов данного класса
    4 апреля 2011 г. 19:46
  • Добрый вечер, russia union ! Я посмотрел элемент richTextBox Framework 4.0 У него есть свойство Dock. (у меня русская студия - там это свойство находится в группе свойств "Макет"). Вероятно, требуется установить Fill.
    4 апреля 2011 г. 22:36
  • Доброе утро! Это свойство отвечает за заполнение элементом своего контейнера, к форматированию содержащегося текста это никакого отношения не имеет.
    5 апреля 2011 г. 8:46
  • Судя по всему вы хотите упростить задачу, а в итоге сталкиваетесь с кучей сложностей. Внимательно изучите первую ссылку, что дал вам NIKkakNIK.

    Что касается версий, то более новые, поддерживаю все старое, но вы можете создавать программу не в WinForms, а в WPF и тогда ваш RichtTextBox это наследник совершенно других классов и имеет другое поведение. В таком случае вам нужно читать:

    http://msdn.microsoft.com/ru-ru/library/ms748388%28d=lightweight%29


    и пригодится решение, которое мне подсказали ранее на этом форуме - http://social.msdn.microsoft.com/Forums/ru/programminglanguageru/thread/03edfff9-5ab7-468a-bd81-4942490f2b7f
    5 апреля 2011 г. 9:50
    Отвечающий
  • Уважаемый пользователь, какую технолонию вы используете Winforms или WPF? Посмотрите, пожалуйста, ответы NIKkakNIK и LXGDARK, там есть решения как для одной, так и для другой технологии. Не забудьте отметить ответ, если он является решением проблемы. Спасибо.
    Для связи [mail]
    5 апреля 2011 г. 12:57