Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > странное поведение PrintPreview Dialog


Автор: -ser- 1.8.2005, 09:04
стандартный PrintPreviewDialog прежде чем появиться, делает активным любое другое окно, а самого нужно искать где-то на заднем плане. использую вета 2, неужели в этом дело?
Код

PrintPreviewDialog ppd = new PrintPreviewDialog();
ppd.Document = pd;
ppd.Width = 800;
ppd.Height = 600;
ppd.ShowDialog();

Автор: mr.DUDA 1.8.2005, 15:58
Можно попробовать вариант с ShowDialog(parentWindow) , отдавая ему форму приложения.

Автор: arilou 1.8.2005, 16:17
А если формы приложения нет, а есть только окно консоли? У меня похожая трабла есть, напрягает smile

Автор: mr.DUDA 1.8.2005, 17:56
Вот так должно работать smile
Код
using System;
using System.Windows.Forms;

namespace Test
{
    public class PrintPreviewDialog2 : PrintPreviewDialog
    {
        protected override void OnLoad(EventArgs e)
        {
            this.Owner.TopMost = false;
        }
    }


    class Class1
    {
        [STAThread]
        static void Main(string[] args)
        {
            Form form = new Form();
            form.TopMost = true;

            PrintPreviewDialog2 dlg = new PrintPreviewDialog2();
            dlg.ShowDialog(form);
        }
    }
}

Автор: -ser- 3.8.2005, 08:36
вроде вот так работает

Код

...
    public class PrintPreviewDialog2 : PrintPreviewDialog
    {
        protected override void OnLoad(EventArgs e)
        {
            this.Owner.TopMost = true;
        }
    }
    private void mnuPrintPreview_Click( object sender, EventArgs e )
    {
        PrintPreviewDialog2 ppd = new PrintPreviewDialog2();
        ppd.Document = pd;
        ppd.ShowDialog( this ); 
    }

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)