2016-07-06 2 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

가끔은 :) –