Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
Jylik
104 / 45 / 14
Регистрация: 06.03.2012
Сообщений: 740
1

Каким образом созданный объект отправить на печать

28.06.2012, 09:14. Просмотров 3262. Ответов 9
Метки нет (Все метки)

Всё дело в том, что не люблю, или не умею, или всё вместе... искать информацию.
лирика
Делал маленькие каникулы для своего разума в программировании. Как я учусь?! Я не хожу никакие курсы и не посещаю занятий. У меня есть друг программист, который в свободное от работы время посвящает меня в маленькие занятия. Информацию же просит искать самостоятельно, но по видимому у меня это очень плохо получается, если я прошу у вас отрывки кода))) Сам же я работаю продавцом три через три, и пока нет покупателей штудирую язык, делая разные демо-приложения, которые зарождаются в моей безумной голове.

И так. Мне интересно, каким образом я могу созданный мною объект отослать на печать? Будь то картинка, набранный текст, или группа объектов, объединенная отдельной форме (главное, что ищу, это третье)

Так как я это представляю...
форма.текст="привет"
форма.кнопка="пуск"
форма.печать

и на листочке напечаталось бы текст с рисунком кнопки (._.')
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.06.2012, 09:14
Ответы с готовыми решениями:

Каким образом можно очистить событие?
Доброго времени суток. Каким образом можно очистить событие public event...

Каким образом можно нормализовать double?
Вместо этого непонятного набора знаков должно быть число от -1 до +1 ( если...

WebKit(Browser) каким образом кликнуть по кнопке
Изза хорошего аппетита WebBrowser к оперативке изучаю другие встраиваемые...

Каким образом можно прикрепить штриховку к объекту
В задаче про вращающийся кубик, вокруг произвольной точки пространства....

Как отправить на печать
Подскажите пожалуйста, есть у меня приложение, в ней есть DataGridView со...

9
nio
28.06.2012, 09:53
  #2

Не по теме:

Цитата Сообщение от Jylik Посмотреть сообщение
не люблю ... искать информацию
ну так и не загоняйся, забей на это программирование, не нужно оно тебе. Это занятие требует усидчивости, а ты только время зря потратишь. :)

1
Jylik
104 / 45 / 14
Регистрация: 06.03.2012
Сообщений: 740
28.06.2012, 09:58  [ТС] 3
nio, Ниии :3
У меня слишком много идей, чтоб прост так сидеть))) Ведь на форуме ищу информацию, задав вопрос)) Вот таким методом и добываю ответы)
0
alexsave
256 / 186 / 30
Регистрация: 18.08.2010
Сообщений: 229
Завершенные тесты: 2
29.06.2012, 05:10 4
Есть два метода:
PrintDialog.PrintVisual - с его помощью можешь распечатать любой элемент в окне, в т.ч. и графику
PrintDialog.PrintDocument - печатает фиксированные и потоковые документы типа FlowDocument (используется в элементах RichTextBox, FlowDocumentViewer, FlowDocumentPageViewer и FlowDocumentReader)
1
Jylik
104 / 45 / 14
Регистрация: 06.03.2012
Сообщений: 740
05.07.2012, 16:20  [ТС] 5
alexsave,
C#
1
2
3
            PrintDialog TestPrint = new PrintDialog();
            TestPrint.PrintVisual(border1);
            TestPrint.ShowDialog();
Я знаю, что неправильно. Но не вижу как правильно...

Добавлено через 20 минут
Можно увидеть исходные тексты, чтоб разобраться как всё устроено?!
0
Jylik
104 / 45 / 14
Регистрация: 06.03.2012
Сообщений: 740
11.07.2012, 07:11  [ТС] 6
Пожалуйста, пример кода.
0
alexsave
256 / 186 / 30
Регистрация: 18.08.2010
Сообщений: 229
Завершенные тесты: 2
11.07.2012, 14:06 7
ссылка
1
Jylik
104 / 45 / 14
Регистрация: 06.03.2012
Сообщений: 740
11.07.2012, 17:50  [ТС] 8
alexsave, Спасибо за ссылку, уверен там крайне-полезная информация. Однако я озабочен конкретно тем примером, что нашел, пока дожидался ответа.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Forms;
using System.Drawing.Printing;
 
namespace _0000000
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        private PrintDocument pd;
 
        public MainWindow()
        {
            InitializeComponent();
            pd = new PrintDocument();
            //pd.PrintPage += new EventHandler<PrintPageEventArgs>(pd_PrintPage);
            pd.PrintPage += new PrintPageEventHandler(pd_PrintPage);
 
        }
 
        private void PrintButton_Click(object sender, RoutedEventArgs e)
        {
            pd.Print();
        }
 
        private void pd_PrintPage(object sender, PrintPageEventArgs e)
        {
            e.PageVisual = textBlock1;
        }
    }
}
Чего конкретно не хватает, если PageVisual найти не может?

Вот копия ошибки:

Error 1 'System.Drawing.Printing.PrintPageEventArgs' does not contain a definition for 'PageVisual' and no extension method 'PageVisual' accepting a first argument of type 'System.Drawing.Printing.PrintPageEventArgs' could be found (are you missing a using directive or an assembly reference?) D:\Projects\0000000\0000000\MainWindow.xaml.cs 42 15 0000000

>,,< и ссылочка к оригиналу: http://msdn.microsoft.com/en-us/libr...cument(v=vs.95)
0
alexsave
256 / 186 / 30
Регистрация: 18.08.2010
Сообщений: 229
Завершенные тесты: 2
11.07.2012, 18:22 9
Ну дык PageVisual используется в Silverlight при печати страницы. Как я понял из исходного кода проект на WPF. Короче вот простой пример печати исходя из требований из первого поста:

XAML:
XML
1
2
3
4
5
6
7
8
9
10
11
<Grid>
       <Grid.RowDefinitions>
            <RowDefinition/>
            <RowDefinition Height="Auto"/>
        </Grid.RowDefinitions>
        <StackPanel x:Name="targetPrint">
            <TextBlock Margin="10">Hello</TextBlock>
            <Button Margin="10,0" MaxWidth="250">Пуск</Button>
        </StackPanel>
        <Button x:Name="Print" Click="Print_Click_1" Grid.Row="1" Height="40" MaxWidth="100">Печать</Button>
    </Grid>
C#:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
 
        private void Print_Click_1(object sender, RoutedEventArgs e)
        {
            PrintDialog pd = new PrintDialog();
            if (pd.ShowDialog() == true)
            {
                pd.PrintVisual(targetPrint, "Текстовый элемент и кнопка");
            }
        }
    }
1
Jylik
104 / 45 / 14
Регистрация: 06.03.2012
Сообщений: 740
12.07.2012, 07:26  [ТС] 10
alexsave, Спасибо ОГРОМНОЕ! Это в сотни раз лучше, чем я написал в первом варианте...
(выше это не первый ж3)

Добавлено через 9 часов 7 минут
А это первоначальный вид)))

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//Жмём кнопку срабатывает метод вызова принтера по умолчанию...
        private void Button2p_Click(object sender, RoutedEventArgs e)
        {
            pd.Print();
        }
//Затем сей принтер получает документ....
            PrintDocument pd = new PrintDocument();
            pd.PrintPage +=new PrintPageEventHandler(PrintTwoDocument);
//который ссылается на действие обработки информации для печати...
        private void PrintTwoDocument(object sender, PrintPageEventArgs e)
        {
//Настройка типа шрифта и размера
            Font printFont = new Font("Courier New", 12);
//То, что и будет напечатано. (textDoc.Text)
            e.Graphics.DrawString(textDoc.Text, printFont, System.Drawing.Brushes.Black, 0, 0);
        }
Примерно так...

alexsave, спасибо, ещё раз )
0
12.07.2012, 07:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.07.2012, 07:26

Каким образом можно программно проверить и получить почту
Не подскажите каким образом можно программно проверить и получить почту? Искал,...

Каким образом посчитать количество кадров в видео файле
Всем привет. У меня есть одна &quot;глупая&quot; затея. Собственно говоря вот ее...

Каким образом многие программы способны ускорить систему
Пора трезветь товарищи! Я давно хотел поинтересоваться каким образом многие...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru