본문 바로가기
C#/WinForm

C# 버튼 클릭시 클릭 된 시간을 txt파일에 기록하는 예제

by 샤나엘 2020. 10. 28.
반응형

안녕하세요.

 

Winform에서 버튼을 클릭했을 때,

버튼이 클릭된 시간을 text파일에 기록하는 간단한 예제입니다.

 

화면 구성은 버튼 하나만 추가해줍니다.

버튼을 더블 클릭해서 클릭 이벤트를 생성해줍니다.

그리고 버튼 클릭 이벤트 소스를 설정해 줍니다.

내용은 아래에 소스에 주석으로 추가해 두었습니다.

using System;
using System.IO;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApp3
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //저장할 파일명 및 확장자 지정
            string fileName = "buttol1.txt";

            //저장할 위치 지정
            string savePath = Application.StartupPath;

            //저장할 위치 + 파일명 지정
            string fullPath = savePath + "\\" + fileName;

            //입력할 내용 설정
            string textValue = string.Format("클릭 시간 : {0}\r\n", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));

            //파일이 없으면 파일을 만들어서 적고, 있으면 해당 파일에 내용만 추가
            File.AppendAllText(fullPath, textValue, Encoding.Default);
        }
    }
}

 

파일명과 파일 저장 경로는 편하신곳으로 변경후에 테스트 하셔도 될 것 같습니다.

 

입력할 내용에 \r\n을 넣은 이유는 버튼이 클릭할 때 마다 다른 줄에 기록될 수 있게 넣은 부분입니다.

 

그리고 File.AppendAllText를 사용하면 파일이 없으면 파일을 새로 만들어서 내용을 추가하고, 파일이 있으면

해당 파일에 내용만 추가됩니다.

 

파일을 매번 새로 만들고싶으면 File.WriteAllText을 사용하면 되는데, 이전 내용은 사라지게 되니 필요에 따라 두 가지중에 선택해서 사용하면 될 것 같습니다.

 

실행해서 txt파일을 확인해보면 아래와 같이 잘 기록되는 것을 볼 수 있습니다.

관리자권한으로 실행해야 파일 저장등에 문제가 없으니 혹시 안되면 관리자 권한으로 스튜디오를 실행해서 테스트해보시기 바랍니다.

반응형

댓글