Рейтинг:
1
OriginalGriff
Мы не можем дать вам "полную информацию" - это целое приложение, и потребуется больше, чем мы можем предоставить в маленьком текстовом поле, как это!
Но печать относительно проста: используйте Класс PrintDocument (System.Рисование.Печатание)[^] и у вас есть полный контроль над тем, что происходит.
В обработчике событий PrintPage вы можете использовать DrawLine и DrawString для рисования полей и текста, чтобы "заполнить пробелы" по мере необходимости. Если у вас есть принтер формата А3, вы будете иметь полный контроль над размером и расположением всего, что хотите напечатать.
(Ссылка включает в себя очень простой пример, но вы можете найти гораздо более полный с помощью Google.)
Если вы застряли в определенном месте, то, пожалуйста, спросите об этом, и мы сделаем все возможное, чтобы помочь. Но мы не можем сделать все это за вас!
lionkings
Спасибо, что ответили. Мне не нужны все подробности, как ты думаешь. Мне просто нужен способ сделать это, например, использовать picturebox, нарисовать календарь на месяц, распечатать его и т. д. (Это то, что я имею в виду)
OriginalGriff
Не используйте picturebox! Подумайте об этом: при разрешении печати 300dpi A3 составляет 3508 x 4961 пиксель: таким образом, требуемая память составляет 69,6 МБ, что является чертовски огромной картинкой! Ваше приложение будет двигаться словно оглушен слизень на Mogadons... :смеяться:
Вам не нужен "месячный календарь": вам нужен "месячный планировщик". Разница в том, что каждый месяц начинается слева с 1-го дня, а не с календаря, который всегда начинается с воскресенья (или понедельника на некоторых) слева.
Буквально все, что вам нужно сделать, это создать документ PrintDocument, определить прямоугольные области для размещения имен сотрудников, затем разделить оставшееся пространство на 28, 29, 30 или 31 "день" и распечатать текст заголовка и разделительные линии.
Это не сложнее в .NET (VB или C#), чем было бы в VB6 - действительно, возможно, проще во многих отношениях!
Печатный документ позволяет вам непосредственно рисовать линии, текст, изображения и т. д. непосредственно на "холсте", который является листом бумаги, который выйдет из принтера. Взгляните на ссылку - это не так сложно, как вы думаете!
lionkings
Вы мне очень помогли!. Собираюсь проверить printdocument ..
OriginalGriff
Всегда пожалуйста!