[英]File.WriteAllText() statement in C# not creating a file
我仍然只是在Visual Studio中學習C#,並且試圖創建一個簡單的文本加密應用程序。 我現在的問題是當我使用命令時:
File.WriteAllText(name, inputTextBox.Text);
(其中name是在SaveFileDialog中選擇的文件的名稱,而inputTextBox.Text是主窗體上文本框中的文本),但是實際上從未創建過該文件。 我什至嘗試構建該應用程序並以管理員身份運行它,但沒有任何反應。
甚至更奇怪的是,當我打開文件資源管理器時,在快速訪問部分中顯示了最近的文件,當我單擊“打開文件位置”時,所有應該創建的文件都顯示在那里,但是不存在,如果我只是嘗試打開它們,記事本只是告訴我該文件不存在。
這些文件也不在我的回收站中。 這是我的其余代碼,以防萬一。
public Form1()
{
InitializeComponent();
}
private void saveButton_Click(object sender, EventArgs e)
{
saveDialog.ShowDialog();
}
private void saveDialog_FileOk(object sender, CancelEventArgs e)
{
string name = saveDialog.FileName;
File.WriteAllText(name, inputTextBox.Text);
}
而且,如果您想知道saveDialog已經是我表單中的一個元素,那么這沒有問題。
由於在您發布的代碼中缺少SaveFileDialog
的初始化,並且您在注釋中說Debugger不會在事件主體中停止,因此,我大膽地假設該事件未正確注冊。
嘗試確保您的課程(至少)看起來像以下示例:
public partial class Form1 : Form
{
SaveFileDialog saveDialog;
public Form1()
{
InitializeComponent();
// create instance of SaveFileDialog
saveDialog = new SaveFileDialog();
// registration of the event
saveDialog.FileOk += SaveDialog_FileOk;
}
private void saveButton_Click(object sender, EventArgs e)
{
saveDialog.ShowDialog();
}
private void saveDialog_FileOk(object sender, CancelEventArgs e)
{
string name = saveDialog.FileName;
File.WriteAllText(name, inputTextBox.Text);
}
}
如果您的問題仍然存在,那么我將刪除我的答案
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.