webForumDet fria alternativet

Skriva ut

.NET

7 svar · 345 visningar · startad av aleborg

Medlem sedan jan. 20013 341 inlägg
Frågan#1

Jag har en Windows Form där jag har placerat en panel. I panelen finns några kontroller, label, picturebox samt en datagrid.
Panelen är utformad som ett A4 och jag skulle behöva skriva ut hela panelen. Någon som har tips på hur jag ska gå till väga? Dom har inte gjort det enkelt för oss utvecklare att skriva ut...
Funderar på att använda PDF Creator 1.1 för att göra PDF:er av det och sen skriva ut PDF:en om nu det är enklare eller är det någon som har nått annat förslag?

Medlem sedan nov. 20022 355 inlägg
#2

Hm, vill du alltså skriva ut det som en "skärmdump" eller endast datan i de olika kontrollerna?

Medlem sedan jan. 20013 341 inlägg
#3

Som en skärmdump, inte hela formen utan panelen med dom kontroller som ligger i den.

Medlem sedan maj 20021 466 inlägg
Medlem sedan nov. 20022 355 inlägg
#5

Där finns även ett par bra artiklar på http://www.c-sharpcorner.com/ under "Printing" där är en artikel där de tar upp ControlPaint.

Medlem sedan aug. 20003 575 inlägg
#6

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cscon/html/vclrfCodePrintingFormVisualC.asp

Och istället för this.size i funktionen capturescreen så borde du kunna ta dinpanel.size(); och för att få ut din panel :).

Jag vet inte om det fungerar eller om det är den bästa lösningen men jag tycker det borde fungera att byta ut form mot panel i detta avseendet.

Medlem sedan jan. 20013 341 inlägg
#7

Marcus E -> precis det jag inte ville göra, enligt mina tidigare inlägg i den här tråden så är det enbart en panel med dess innehåll.

Har kollat igenom c-sharpcorner men deras lösning är bristfällig i kod tyckte jag, annars brukar dom ha bra artiklar där.
Ska testa MS- varianten, meddelar hur det går!

Medlem sedan maj 20021 466 inlägg
#8

Du kan använda CodeProjects lösning för att skriva ut en panel. Det kräver bara lite anpassning av koden. Det måste du kunna göra om du skriver ett eget program. Man kan inte förvänta sig att koden man hittar fungerar precis som man tänkt sig. Använt helt enkelt DrawControl på den panel du vill skriva ut i PrintDocument_PrintPage.

Ett annat sätt är att använda WM_PRINTCLIENT.

303 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
131 ms — deklarationer (db)
0 ms — hämta statistik (cache)
168 ms — hämta tråd, inlägg och bilagor (db)
117 ms — ändringar (db)