0

そのため、フォームの開始時にファイルをロードします。そのフォームに「保存ボタン」があります。クリックすると、richtextbox.Savefileメソッドでファイルを上書きしたいです。しかし、「パスへのアクセス..が拒否されました」というメッセージが表示されます

私はこれをチェックして得ました:

  1. 現在のユーザーの権限はすべて付与されています
  2. デバッグ フォルダには「読み取り専用」があります -- 削除しようとしましたが、常に戻ってきます

さて、フォームを閉じたときだけプログラムがリソース(ファイル)を解放しないと思います

これを強制する方法はありますか?(ファイルはRAMメモリにロードされたままだと思います)

もう 1 つ: SaveFile メソッドと LoadFile メソッドを使用する必要があります。私はRTFファイルを扱っていますが、私のコードは、このメソッドが最適な仕事をするようになっています.

    public EditareArticol(string path,List<capitol>chapters,Object[,]lca)
    {
        this.richTextBoxEx1.LoadFile(path, RichTextBoxStreamType.RichText);
    }

    private void saveToolStripButton_Click(object sender, EventArgs e)
    {
        richTextBoxEx1.SaveFile("articles\\" + 
                                textBox1.Text + ".dat",
                                RichTextBoxStreamType.RichText);  
File.SetAttributes("articles\\" + textBox1.Text + ".dat", File.GetAttributes("articles\\" + textBox1.Text + ".dat") | FileAttributes.Hidden);        
    }

編集:

特定のファイルのハンドルがすべてだと思います。
MSDN ドキュメントから:

LoadFile メソッドは、RichTextBox のハンドルが作成されるまでファイルを開きません。LoadFile メソッドを呼び出す前に、コントロールのハンドルが作成されていることを確認してください。

4

2 に答える 2