SaveFileDialog in den Hintergrund setzen

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Vatter.

    SaveFileDialog in den Hintergrund setzen

    Hallo zusammen!

    Ich habe in meinem Projekt ein hartnäckiges Problem ...
    ----------------------------------------------------------------------
    Der Quellcode ist der folgende:

    Public Class Form1
    Private Sub speichern()

    Public Function screencapturer() As Bitmap

    Dim b As New Bitmap(SystemInformation.VirtualScreen.Width, SystemInformation.VirtualScreen.Height)
    Dim g As Graphics = Graphics.FromImage(b)

    g.CopyFromScreen(0, 0, 0, 0, b.Size)
    g.Dispose()
    Return b

    End Function

    Dim saveFileDialog13 As New SaveFileDialog()
    saveFileDialog13.Filter = "JPG-Format|*.jpg|BMP-Format|*.bmp|GIF-Format|*.gif|Jedes Format|*.*"
    saveFileDialog13.Title = "Arbeit speichern"
    saveFileDialog13.ShowDialog()

    Try
    System.Threading.Thread.Sleep(250)
    PictureBox2.Image = screencapturer()
    PictureBox2.Image.Save(saveFileDialog13.FileName)

    Catch ex As Exception


    End Try

    End Sub

    Private Sub ToolStripDropDownButton3_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripDropDownButton3.Click
    Form2.Show()
    speichern()
    End Sub
    End Class
    -----------------------------------------------------------------------------------------------------
    Und nun zur Erläuerung des Quellcodes:

    1. Es wird die Private Sub speichern() definiert, die dafür sorgt, dass man einen Bildschirmausschnitt speichern kann ( ganzer Bildschirm)
    Hier liegt auch das Problem:
    Ich habe einen Windows-SaveFileDialog zum Speichern der Bilddatei verwendet und möchte dannach meine selbstgebastelte Bildschirmtastatur (Form2), die sich im
    selben Projekt befindet, aufrufen, damit der Nutzer auf Touchscreen-PCs den Dateinamen mit meiner selbstgebastelten selbstgebastelter Bildschirmtastatur eintippen
    kann. Soweit wäre ich schonmal in Gedanken... Aber in der Realität sieht es so aus, dass derSaveFileDialog in den Vordergrund springt und meine Bildschirmtastatur
    "eingefroren" ist, während der Dialog offen ist.
    2. Beim Klick auf das 4. Item im ToolStrip wird die Private Sub speichern() aufgerufen.

    --------------------------------------------------------------------------------------------------------
    Das konkrete Problem:
    In: Private Sub speichern()
    Ich habe einen Windows-SaveFileDialog zum Speichern der Bilddatei
    verwendet und möchte dannach meine selbstgebastelte Bildschirmtastatur
    (Form2), die sich im
    selben Projekt befindet, aufrufen, damit
    der Nutzer auf Touchscreen-PCs den Dateinamen mit meiner
    selbstgebastelten selbstgebastelter Bildschirmtastatur eintippen
    kann. Soweit wäre ich schonmal in Gedanken... Aber in der Realität
    sieht es so aus, dass derSaveFileDialog in den Vordergrund springt und
    meine Bildschirmtastatur
    "eingefroren" ist, während der Dialog offen ist.

    Das Problem ist sehr hartnäckig und ich weiß keine Lösung ... Bitte schnell helfen!!! Danke :) :) :)

    Euer VisualBasic-Frager

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VisualBasic-Frager“ ()

    1. Bitte ändere die Farbe Rot in eine andere, diese ist den Moderatoren vorbehalten.
    2. Glaubst Du, Dein Problem ist wichtiger, wenn Du schreibst

    VisualBasic-Frager schrieb:

    Bitte schnell helfen!!!

    VisualBasic-Frager schrieb:

    Aber in der Realität sieht es so aus, dass der SaveFileDialog in den Vordergrund springt und meine Bildschirmtastatur "eingefroren" ist, während der Dialog offen ist.
    Das ist halt so, wenn man einen modalen Dialog aufruft. Diesen kannst Du mit Deiner Bildschirmtastatur nicht bedienen.
    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!

    RodFromGermany schrieb:

    1. Bitte ändere die Farbe Rot in eine andere, diese ist den Moderatoren vorbehalten.
    2. Glaubst Du, Dein Problem ist wichtiger, wenn Du schreibst

    VisualBasic-Frager schrieb:

    Bitte schnell helfen!!!

    VisualBasic-Frager schrieb:

    Aber in der Realität sieht es so aus, dass der SaveFileDialog in den Vordergrund springt und meine Bildschirmtastatur "eingefroren" ist, während der Dialog offen ist.
    Das ist halt so, wenn man einen modalen Dialog aufruft. Diesen kannst Du mit Deiner Bildschirmtastatur nicht bedienen.

    Kann man den auch einen unmodalen Dialog aufrufen? Und wenn ja, wie?

    VisualBasic-Frager

    Warum zitierst Du den ganzen Post vor Dir?
    Suche auf der Startseite nach nicht modaler Dialog. Ich weiß allerdings genau, dass Du den SaveFileDialog nicht als nicht modalen Dialog hinbekommst, denn dann bekommst Du die Antwort nicht da hin, wo Du sie brauchst.
    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!
    Das Konzept wird so nicht aufgehen. Stell dir vor, du hast deinen SaveFileDialog geöffnet und könntest deine Bildschirmtastatur bedienen. Wie willst du sicherstellen, dass deine Eingaben immer im SaveFiledialog landen und nicht auf einer zufällig durch grobmotorische Ungeschicklichkeiten fokussierten Form? Da gibs dann nachher so unschöne Formübergreifende Zugriffe.
    Vielleicht baust du dir lieber einen eigenen SaveFile-Dialog mit ner integrierten Bildschirmtastatur. Oder z.B. ein Textbox-Steuerelement, wo die Tastatur "rausklappt". Das kannst du dann in alle möglichen Dingers einbauen.

    Fiel Fergnügen
    Vatter
    :thumbsup: Seit 26.Mai 2012 Oppa! :thumbsup: