2017-07-17 10 views
0

私は、VB.NETで実行可能ファイルにsavefiledialogを使用できるかどうかを知りたがっています。 Iveはフォームでそれをやろうとしましたが、「このアプリはあなたのPCで動かすことができません。ここで私が使用しようとするもののコーディングは次のとおりです。実行ファイルにsavefiledialogを正しく使用する方法は?

Public Class MainForm 

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 

     Dim sfd As New SaveFileDialog 
     sfd.Filter = "Executable |*.exe" 
     sfd.ShowDialog() 

     Dim writer As New System.IO.StreamWriter(sfd.FileName) 
     writer.Write(Form2) 
     writer.Close() 

    End Sub 

End Class 
+2

あなたは何をしようとしていますか? '.exe'という名前のストリームファイルにフォームを書き込むと、実行ファイルが作成されません。 – Plutonix

+1

ここで間違ったアプローチをしているのですか? 'StreamWriter'は_form_を_executable_に変換しません。しかし、あなたのexeのコピーを 'SaveFileDialog'から取り出せる場所/ファイルパスにコピーしようとしているなら、** File.Copy ** –

+0

を使うことができます。フォームのスタンドアロンプ​​ログラムを作成するには、あなたのアプリ内からそのソースコードにアクセスできます。次に、そのコードを実行可能ファイルに_compile_する必要があります。このプロセスは、あなたがここでやろうとしていることよりもはるかに困難です。 –

答えて

0

サイドノートでは、あなたは(ユーザーが「OK」をクリックしたかどうかを確認するためにShowDialog()戻り値をチェックする必要があるだけではなく、ダイアログをキャンセル

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
    Dim sfd As New SaveFileDialog 
    sfd.Filter = "Executable |*.exe" 
    If sfd.ShowDialog() = DialogResult.OK Then 
     ' ... do something with "sfd.FileName" ... 
     Console.WriteLine(sfd.FileName) 
    End If 
End Sub 

SaveFileDialog()は単にあなたに視覚的にファイル名を選択するユーザーのための方法を提供します:)、そうでなければ、ユーザーも選択しなかったファイル名を使用しようとすることでしょう。そのファイル名で行うことはまったく別の問題です...

関連する問題