본문 바로가기

C#

C#으로 간단한 메모장 애플리케이션 만들기

반응형

1. 개요

메모장 애플리케이션은 텍스트를 입력하고 편집하며 파일로 저장하고 불러올 수 있는 간단한 도구입니다. 이번 블로그에서는 C#과 WPF(Windows Presentation Foundation)를 사용하여 간단한 메모장 애플리케이션을 만들어보겠습니다.

2. 프로젝트 설정

먼저 Visual Studio에서 새 WPF 애플리케이션 프로젝트를 생성합니다.

  • 프로젝트 이름: SimpleNotepad

3. UI 설계

먼저 XAML을 사용하여 메모장 애플리케이션의 사용자 인터페이스를 설계합니다. 텍스트를 입력할 수 있는 TextBox와 메뉴 기능을 제공하는 Menu를 사용합니다.

3.1 MainWindow.xaml 파일 작성

<Window x:Class="SimpleNotepad.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Simple Notepad" Height="450" Width="800">
    <DockPanel>
        <Menu DockPanel.Dock="Top">
            <MenuItem Header="File">
                <MenuItem Header="New" Click="NewFile_Click"/>
                <MenuItem Header="Open" Click="OpenFile_Click"/>
                <MenuItem Header="Save" Click="SaveFile_Click"/>
                <MenuItem Header="Exit" Click="Exit_Click"/>
            </MenuItem>
        </Menu>
        <TextBox Name="txtEditor" AcceptsReturn="True" AcceptsTab="True" 
                 VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" 
                 FontFamily="Consolas" FontSize="14"/>
    </DockPanel>
</Window>

4. 기능 구현

다음으로, 파일 새로 만들기, 열기, 저장 및 종료 기능을 구현합니다.

4.1 MainWindow.xaml.cs 파일 작성

각 메뉴 항목에 대한 이벤트 핸들러를 구현합니다.

using Microsoft.Win32;
using System.IO;
using System.Windows;

namespace SimpleNotepad
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        // 새 파일 생성
        private void NewFile_Click(object sender, RoutedEventArgs e)
        {
            txtEditor.Clear();
        }

        // 파일 열기
        private void OpenFile_Click(object sender, RoutedEventArgs e)
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();
            openFileDialog.Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*";
            if (openFileDialog.ShowDialog() == true)
            {
                txtEditor.Text = File.ReadAllText(openFileDialog.FileName);
            }
        }

        // 파일 저장
        private void SaveFile_Click(object sender, RoutedEventArgs e)
        {
            SaveFileDialog saveFileDialog = new SaveFileDialog();
            saveFileDialog.Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*";
            if (saveFileDialog.ShowDialog() == true)
            {
                File.WriteAllText(saveFileDialog.FileName, txtEditor.Text);
            }
        }

        // 애플리케이션 종료
        private void Exit_Click(object sender, RoutedEventArgs e)
        {
            this.Close();
        }
    }
}

5. 프로그램 실행 및 테스트

이제 프로그램을 실행하여 각 기능이 제대로 작동하는지 테스트합니다.

  • 새로 만들기: 텍스트 편집기를 초기화합니다.
  • 열기: 파일 탐색기를 통해 파일을 선택하고 내용을 텍스트 편집기에 표시합니다.
  • 저장: 현재 텍스트 편집기의 내용을 파일로 저장합니다.
  • 종료: 애플리케이션을 닫습니다.

6. 추가 기능 구현

메모장 애플리케이션에 추가 기능을 넣을 수 있습니다.

  • 편집 메뉴: 잘라내기, 복사, 붙여넣기 등의 기능.
  • 서식 변경: 글꼴, 색상, 크기 조절.
  • 찾기 및 바꾸기: 텍스트 검색 및 바꾸기 기능.

7. 마무리

이번 블로그에서는 C#과 WPF를 사용하여 간단한 메모장 애플리케이션을 만드는 과정을 다뤘습니다. 이 애플리케이션은 텍스트 편집, 파일 저장 및 불러오기 같은 기본 기능을 제공하며, WPF의 TextBox와 Menu를 활용하여 간단한 사용자 인터페이스를 구성했습니다. 이 프로젝트를 통해 C#과 WPF의 기본적인 사용법을 익힐 수 있습니다. 더 나아가 추가 기능을 구현해보면서 WPF의 다양한 기능을 탐구해보세요.

반응형