lionkings Ответов: 1

Как создать лист посещаемости формата А3?


Я работаю в офисе, где мы должны разработать месячный реестр посещаемости с помощью листа excel, отмечая дни и праздники и вводя имена сотрудников. Мне нужно создать документ формата А3 или элемент управления PictureBox, используя vb.net чтобы упростить этот процесс. Мне не нужно работать с данными, так как лист будет распечатан, и сотрудники будут подписывать его каждый день в печатном виде. Мне просто нужно легко создать страницу, просто введя месяц и год и все имена сотрудников. Мне он тоже нужен в формате А3. Кто-Нибудь Поможет? Я сам его закодирую . Мне просто нужен совет. TY. NB: я новичок в .net. (Раньше я кодировал в vb6)

Что я уже пробовал:

Я пробовал использовать Excel, но теперь мне нужно легко сделать это с помощью программы.

Richard MacCutchan

Почему бы просто не использовать Excel, который может выполнить эту работу в кратчайшие сроки?

1 Ответов

Рейтинг:
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

Всегда пожалуйста!