Vytisknutí formuláře   otázka

VB.NET, WinForms

Převádím svůj program z Fortranu do VB2010 (statika výpočty sil). Výstup tvoří též grafické průběhy silových veličin které už mám zobrazeny na obrazovce ve FORM2. Jak programově umožnit případnou volbu otištění obsahu Form2 na tiskárnu s umožněním volby velikosti obrazu tisku.Program musí dále pokračovat . Je možno zneužít možnost otisku obrazovky

SendKeys.SendWait("%({PRTSC})")     ''uloží obrazovku do OBR1.png
My.Computer.Clipboard.GetImage().Save("K:\PFOR\OBR1.png")

ale to moc neuspokojuje, protože k otištení je nutno se vracet znovu po ukončení programu. Je nějaká lepší možnost řešení. Díky za možné nasměrování na lepší řešení

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Dobrý den,

můžete si stáhnout a nainstalovat Visual Basic Power Pack, přidat na formulář komponentu PrintForm a pak zavolat Print.

http://msdn.microsoft.com/en-us/library/...

Půjde to určitě i jinak, ale tohle je asi nejjednodušší cesta. Rozhodně je to lepší než zneužít na to schránku, jelikož uživatel v ní může mít něco uloženo.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Diky za bleskovou odpověď - Ludva

nahlásit spamnahlásit spam 0 odpovědětodpovědět
  Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        Try
            Dim vysledek As DialogResult = PrintDialog1.ShowDialog()
            If vysledek = DialogResult.OK Then
                PrintForm1.Print(Me, PowerPacks.Printing.PrintForm.PrintOption.ClientAreaOnly)
            End If
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub
End Class

Ještě jeden problém k užití PrintForm1 -tisk je funkční ale tiskne se jen polovina obrazu obrazovky a to A4 na výšku ,nastavení požadavku Landscap = true (v rámci PrintDialog1.Show) se nerealizuje i když ho nastavím. Jak připsat do Button1 pokyn pro PrinterSettings Landscape=True případně další upřesnění dalších pokynů pro PrinterSettings ?

díky [email protected]

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:  
Heslo:  

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback