2017-07-17 47 views
0

我一直想知道是否可以在VB.NET中使用savefiledialog作爲可執行文件。我試着用表單來做,但它似乎提出了「這個應用程序無法在你的電腦上運行」。這裏是什麼,我試圖使用的編碼:如何正確使用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

要創建表單的獨立程序,您需要可以從您的應用內訪問其源代碼。然後,您需要將該代碼編譯爲可執行文件。這個過程比你在這裏要做的要困難得多。 –

回答

0

在一個側面說明,你應該檢查返回值的ShowDialog(),看看如果用戶點擊「OK」(而不是僅僅取消對話框),否則你會試圖使用一個文件名,用戶甚至沒有選擇:

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()簡單地爲您提供了用戶直觀地選擇一個文件名的方式。你用這個文件名做什麼是一個完全不同的問題...

相關問題