2016-07-06 3 views
0

Visual StudioでC#を学習しているだけで、簡単なテキスト暗号化アプリケーションを作成しようとしています。現時点では私の問題は、私はコマンドを使用するときにということである。C#のFile.WriteAllText()ステートメントでファイルが作成されない

File.WriteAllText(name, inputTextBox.Text); 

(名前がある場合はSaveFileDialogとinputTextBox.Textで選択されたファイルの名前は、メインフォーム上のテキストボックス内のテキストである) しかし、ファイルは決して実際には作成されません。私はアプリケーションをビルドして管理者として実行しようとしましたが、何も起こりませんでした。

最近のファイルを表示するクイックアクセスセクションで、ファイルエクスプローラを開いたときに作成するはずのファイルはすべて表示されますが、[ファイルの場所を開く]をクリックすると存在しません私がそれらを開こうとすると、メモ帳はファイルが存在しないと私に伝えます。

ファイルもごみ箱などにありません。あなたは何の問題がそれでありませんので、SaveDialogは、すでに私のフォームの要素です迷っている

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); 
    } 

そして、中ケース: はここでそれはそれで間違って何かのケースでは私のコードの残りの部分です。

+0

を削除します。 –

+3

イベントハンドラ「saveDialog_FileOk」を登録しましたか? –

+0

'saveDialog_FileOk'の中でブレークポイントを設定すると停止しますか? 「名前」については何を教えてくれるのですか? –

答えて

1

SaveFileDialogの初期化が不足しているため、デバッガがイベント本体で停止していないと言うと、イベントが適切に登録されていないと想定するために長い時間がかかります。

は(最低限)を確認してくださいあなたのクラスことを確認してください、次の例のようになります。あなたの問題がまだ残っている場合

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); 
    } 
} 

、その後、私は正常に動作しています私の答え

+0

私の「saveDialog_FileOk」私的な無効を削除し、私の実際のフォームのイベントをダブルクリックして追加しました。それは私が思ったよりもずっとシンプルだったことが判明しましたが、ありがとう:) – TacoMakerMan

+0

時々それは:) –

関連する問題