Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как распечатать текст в c# ? 
:(
    Опции темы
froggy82
Дата 1.2.2007, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 25.9.2006
Где: Архангельск

Репутация: нет
Всего: нет



Итак делаю текстовый блокнот, и при вызове из меню Печать нужно чтобы сначало появился диалог, затем пошла распечатка, у меня в самой форме кинуты printDialog и print document, а вот то что в коде:
Код

 private void печатьToolStripMenuItem_Click(object sender, EventArgs e)
        {
         
            printDialog1.AllowPrintToFile =true;

            printDocument1.DocumentName = textBox1.Text;
            printDialog1.Document = printDocument1;
            DialogResult docPrn = printDialog1.ShowDialog();
            if (docPrn.Equals(DialogResult.OK))
            {
                printDocument1.Print();

            }
            
        }
        

        private string stringToPrint;

        private void printPage(object sender, PrintPageEventArgs e)
        {
           

            int charactersOnPage = 0;
            int linesPerPage = 0;

            // Sets the value of charactersOnPage to the number of characters 
            // of stringToPrint that will fit within the bounds of the page.
            e.Graphics.MeasureString(stringToPrint, this.Font,
                e.MarginBounds.Size, StringFormat.GenericTypographic,
                out charactersOnPage, out linesPerPage);

            // Draws the string within the bounds of the page
            e.Graphics.DrawString(stringToPrint, this.Font, Brushes.Black,
                e.MarginBounds, StringFormat.GenericTypographic);

            // Remove the portion of the string that has been printed.
            stringToPrint = stringToPrint.Substring(charactersOnPage);

            // Check to see if more pages are to be printed.
            e.HasMorePages = (stringToPrint.Length > 0);

        }

в результате ругается на стринг... пример брал из msdn, подскажите как же распечатать именно открытый файл или набранный текст в моем текстовом блокноте?
PM MAIL ICQ   Вверх
ivashkanet
Дата 5.2.2007, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Как именно ругается?
"Null reference exception"?

Надо дать значение переменной stringToPrint:
Код

 private void печатьToolStripMenuItem_Click(object sender, EventArgs e)
        {
         
            printDialog1.AllowPrintToFile =true;

            printDocument1.DocumentName = textBox1.Text;
            printDialog1.Document = printDocument1;
            DialogResult docPrn = printDialog1.ShowDialog();
            if (docPrn.Equals(DialogResult.OK))
            {
                // ------------------------------------------------
                stringToPrint = textBox1.Text; // Тута добавил
                // ------------------------------------------------

                printDocument1.Print();

            }
            
        }
        

        private string stringToPrint;

        private void printPage(object sender, PrintPageEventArgs e)
        {
           

            int charactersOnPage = 0;
            int linesPerPage = 0;

            // Sets the value of charactersOnPage to the number of characters 
            // of stringToPrint that will fit within the bounds of the page.
            e.Graphics.MeasureString(stringToPrint, this.Font,
                e.MarginBounds.Size, StringFormat.GenericTypographic,
                out charactersOnPage, out linesPerPage);

            // Draws the string within the bounds of the page
            e.Graphics.DrawString(stringToPrint, this.Font, Brushes.Black,
                e.MarginBounds, StringFormat.GenericTypographic);

            // Remove the portion of the string that has been printed.
            stringToPrint = stringToPrint.Substring(charactersOnPage);

            // Check to see if more pages are to be printed.
            e.HasMorePages = (stringToPrint.Length > 0);

        }

PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0461 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.