Steuerelemente werden bei Screenshot Überdeckt

  • VB.NET
  • .NET (FX) 4.0

Es gibt 24 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Mücahit schrieb:

    das Problem
    wäre auch zu sagen, wofür das gut sein soll, denn momentan sieht es nur aus wie eine Fingerübung.
    Dann könnten wir über Alternativen nachdenken.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Mücahit schrieb:

    der "Artikel"
    Dann nimm keine Form, sondern eine PictureBox und eine Bitmap, die kannst Du im Paint-Event "bemalen", die sieht dann immer genau so aus, wie Du sie selbst bemalst. :thumbsup:
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Mücahit schrieb:

    aber
    das geht z.B. so:
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    3. Dim sSavePath As String = "C:\Temp\xxxx.png" ' Bitmap erzeugen
    4. Dim bmp = New Bitmap(500, 500)
    5. Dim g As Graphics = Graphics.FromImage(bmp)
    6. g.Clear(Color.White)
    7. Draw(g) ' und bemalen
    8. g.Dispose()
    9. bmp.Save(sSavePath, System.Drawing.Imaging.ImageFormat.Png)
    10. bmp.Dispose()
    11. System.Diagnostics.Process.Start(sSavePath)
    12. End Sub
    13. Private Sub PictureBox1_Paint(sender As Object, e As PaintEventArgs) Handles PictureBox1.Paint
    14. Draw(e.Graphics) ' PictureBox bemalen
    15. End Sub
    16. Private Sub Draw(g As Graphics)
    17. ' die Darstellfläche ermitteln
    18. Dim rect2 = New Rectangle(0, 0, CInt(g.VisibleClipBounds.Width), CInt(g.VisibleClipBounds.Height))
    19. ' Multiline Text zentrieren
    20. Dim flags As TextFormatFlags = TextFormatFlags.HorizontalCenter Or TextFormatFlags.VerticalCenter Or TextFormatFlags.WordBreak
    21. Dim font2 = New Font("Arial", 24)
    22. ' Hintergrundbild
    23. g.DrawImage(My.Resources.hsv, New Point(0, 0))
    24. ' Text drüber
    25. TextRenderer.DrawText(g, Me.TextBox1.Text, font2, rect2, Color.Blue, flags)
    26. End Sub
    27. Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
    28. Me.PictureBox1.Invalidate()
    29. End Sub
    30. End Class

    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „RodFromGermany“ ()