Windows_/Windows_C# & App

C#: 텍스트 프로그램 구현하기

sosal 2014. 7. 24. 02:54
반응형

/*

 * http://sosal.kr/

 * made by so_Sal

 */

 

 

간단하게 뚝딱 텍스트 프로그램을 만들어봅시다.

기본 윈도우즈 폼 형식으로 C# 프로젝트를 만든 후

파일을 저장하기 위해 Form1.cs 기본 파일에 헤더를 넣어줍니다.

using System.IO;

 

 

 

1. 메뉴 만들기

2. 텍스트박스 만들기

3. 메뉴 함수 구현하기1 - Open File

4. 메뉴 함수 구현하기2 - Save File

5. 메뉴 함수 구현하기5 - Exit

 

 

 

 

 

 

1. 메뉴 만들기

 

디자인 모드에 들어가서 



 

위와같이 메뉴스크립트를 만들어 주시면 아래와같이 메뉴가 생성되고

C#에서 자동으로 메뉴를 추가할 수 있게 다 만들어져있습니다.

간단히 메뉴를 넣어봅시다.

Open File / Save File / Exit

 

 

 

 

 

2. 텍스트박스 만들기

 

그리고 윈도우즈 폼 가운데 들어갈 텍스트를 담아놓을 텍스트박스 또한 넣어줍니다.

간단하게 만드는 프로그램이니 텍스트박스 변수명을 textBox1 그대로 써주도록 했습니다.

 




레이아웃의 ScrollBars 설정을 통해 스크롤바도 만드실 수 있습니다.

 

 

 

 

 

3. 메뉴 함수 구현하기1 - Open File




위 그림에서 Open File을 눌렀을 때 실행하게 하는 함수를 만들기 위해서 더블클릭을 해줍니다.



 


그럼 이렇게 자동으로 함수를 생성해줍니다.

 

OpenFileDialog OF = new OpenFileDialog();  //개체 생성

OF.DefaultExt = "*.txt"; //기본 확장자 설정

OF.Filter = "텍스트 파일 (*.txt) |*.txt|모든 파일(*.*)|*.*"; //필터

OF.FilterIndex = 1; // 1=기본확장자, 2=모든파일

 

if (OF.ShowDialog() == DialogResult.OK)

//대화상자의 응답이 OK라면

{

    string ProgramPath = OF.FileName;

    //열기한 파일의 전체 경로를 반환한다.

    

    TextReader tr = new StreamReader(OF.FileName); //파일 읽기

    textBox1.Text = tr.ReadToEnd(); //파일의 내용을 텍스트박스에 넣기

}

 

 



 

OpenFileDialog는 위와같이 파일을 직접 윈도우즈 폼 형식으로 가져올 수 있도록 도와주는 객체입니다.

파일을 발견했을 시 (열기를 눌렀을 시) TextReader를 통해서 내용을 읽고

앞서 만들어준 텍스트박스 (textBox1)의 내용에 추가해줍니다. 

 

 

 

 

 

4. 메뉴 함수 구현하기2 - Save File


디자인 화면에서 OpenFile 함수를 만들었던것처럼

Save File 메뉴를 더블클릭하여 Click 이벤트 발생 시 동작하는 함수를 만들어봅니다.

 

string dir = "";

SaveFileDialog sfd = new SaveFileDialog();

sfd.Filter = "텍스트 파일 (*.txt) |*.txt|모든 파일(*.*)|*.*";

if (sfd.ShowDialog() == DialogResult.OK)

{

    dir = sfd.FileName;

    FileStream fs = new FileStream(sfd.FileName, FileMode.Create, FileAccess.Write);

    StreamWriter sw = new StreamWriter(fs);

    sw.WriteLine(textBox1.Text); // 파일 저장

    

    sw.Flush();

    sw.Close();

    fs.Close();

}

 

 

 



 

 

 

5. 메뉴 함수 구현하기5 - Exit

 

private void exitToolStripMenuItem_Click(object sender, EventArgs e)

{

    this.Close();

 

}

 

이건 exit 클릭 시 단순히 윈도우폼을 끄면 되는거니 this.Close() 한줄로 해결 가능합니다.

 

 




아주 간단하게 완성된 텍스트 프로그램 ^^