Передать текст для печати в делегат (консольное приложение)

313
23 мая 2017, 00:11
 class Print {
        Transfer Transf;
        public Print(Transfer Tr)
        {
            Transf = Tr;
            PrintDocument printDoc = new PrintDocument();
            printDoc.PrintPage += new PrintPageEventHandler(PD_PrintPage);
            printDoc.Print();
        }
        private void PD_PrintPage(object sender, PrintPageEventArgs e)
        {
            string PrintText = 1\r\n";
            PrintText += "2\r\n";
            PrintText += "3\r\n";
            PrintText += "3";
            Font PrintFont = new Font("Times New Roman", 3, FontStyle.Regular, GraphicsUnit.Millimeter);
            e.Graphics.DrawString(PrintText, PrintFont, Brushes.Black, new PointF(0, 0));
        }
    }

Вот есть пример, как вывести на печать текст, а как передать в PD_PrintPage мою структуру Transfer?

Answer 1

Когда вы создаете экземпляр класса Print, то в конструкторе уже передаете эту структуру и заносите её в свойство Transfer Transf. Достаточно просто ею и воспользоваться в методе:

private void PD_PrintPage(object sender, PrintPageEventArgs e)
{
    // Тут свойство Transf ДОСТУПНО!!
    // Так как оно находится в том же классе
    // Можно обращаться к нему без проблем
    Transf.MY_DATA - доступны для действий (если не ограничены модификатором доступа)
}
READ ALSO
Изменить меню приложения

Изменить меню приложения

Можно ли с помощью WinApi или UIAutomation изменять названия пунктов меню стороннего приложения (WPF)?

245
Работа в спящем режиме на Android, Xamarin/C#

Работа в спящем режиме на Android, Xamarin/C#

Программа работает, пока устройство активно, как только экран гаснет, программа так же засыпаетКак заставить программу работать в фоновом...

256
C# - Как вывести новости на форму?

C# - Как вывести новости на форму?

Пишу программу на C# (Windows Forms)Начал изучать VK API, и нужно было вывести на форму новости (NewsFeed

321
Как осуществлять поиск по id в паттерне mvvm?

Как осуществлять поиск по id в паттерне mvvm?

Здравствуйте, подскажите, пожалуйста, как осуществлять поиск не в Code Behind? есть таблица с книгами, пользователь вводит айди, и программа должна...

255