Utrata focus'u okna po wydruku.

0

Witam.

Mam prosty programik który ma jedno zadania: wydrukować etykietę na podstawie zeskanowanego kodu kreskowego.
Problem jest w tym że po wydruku, główna forma traci focus, na chwilę przejmuje go okienko "drukowanie", a potem "nie wraca".

Ustawiłem właściwość TopMost na true, ale to nie pomogło (forma jest rzeczywiście na wierzchu ale bez focus'a).

Co można zrobić w tym przypadku?

Ps. Takie zachowanie zauważyłem tylko na Windowsie XP (a właśnie na nim ma działać program)

0

Nie wiem jak drukujesz ale zrób zdarzenie, żeby po wydrukowaniu ustawiał się focus na właściwym oknie.
Najlepiej pokaż kod.

0

Mam wywołanie focusa na rządaną kontrolkę, ale nie daje to rezultatu.
Próbowałem dodać też this.Focus(); - też bez rezultatu.

private void textBox6_KeyUp(object sender, KeyEventArgs e)
{
	if (e.KeyData == Keys.Enter)
	{        
		Print();
		barCodeTextBox.Clear();
		barCodeTextBox.Focus();    
	}
}

private void Print()
{
	PrintDocument printDocument1 = new PrintDocument();
	var paperSize = printDocument1.PrinterSettings.PaperSizes.Cast<PaperSize>().FirstOrDefault(e => e.PaperName == "A5");
	printDocument1.DefaultPageSettings.PaperSize = paperSize;
	printDocument1.DefaultPageSettings.Landscape = true;          
	printDocument1.PrintPage += printDocument1_PrintPage;
	printDocument1.Print();
}
1

Dopisz fokusowanie do zdarzenia zakończenia drukowania np:

    var printDocument1 = new PrintDocument();
    printDocument1.EndPrint += (sender, e) => { this.Focus(); };
    var paperSize = printDocument1.PrinterSettings.PaperSizes.Cast<PaperSize>().FirstOrDefault(e => e.PaperName == "A5");
    printDocument1.DefaultPageSettings.PaperSize = paperSize;
    printDocument1.DefaultPageSettings.Landscape = true;          
    printDocument1.PrintPage += printDocument1_PrintPage;
    printDocument1.Print();
0

Dodanie tego zdarzenia + ustawienie TopMost = false (nie wiem jaki to ma związek, ale jak było na true to nadal focus uciekał) przyniosło oczekiwany rezultat :).

Dziękuję :].

1 użytkowników online, w tym zalogowanych: 0, gości: 1