Я думаю, что заменить кнопки или использовать имена элементов управления из PrintPreviewDialog не очень хороший вариант.
С Net1 на Net2 изменяет имя панели инструментов. Следующая версия также может изменить его или имя для других элементов управления.
PrintPreviewDialog - это очень простая форма для инкапсуляции PrintPreviewControl.
Вы можете создать новую форму, добавить собственные кнопки и реализовать свою функциональность.
Вы можете найти некоторые диалоговые окна для PrintPreview в Code-Project (CoolPrintPreviewDialog) Enhaced PrintPreviewDialog.
На моем PrvDialog, когда пользователь нажимает кнопку «Печать», я показываю PageSelDialog, чтобы позволить пользователю выбрать «Диапазон для печати» (Текущая страница, Некоторые страницы, Все страницы, Отмена).
Другим решением является переопределение события OnBeginPrint / suscribe BeginPrint из PrintDocument.
Здесь вы можете отобразить PageSelDialog, отменить печать и изменить DefaultPageSettings PrintRange, FromPage, ToPage.
Для этого параметра вам необходимо знать, когда используется PrintToPrinter, Preview или Print From PrintButon.
PrintController.IsPreview, разрешение для предварительного просмотра.