C# 윈폼 텍스트박스에 입(출)력된 값을 폼에 저장하기

C# 윈폼 텍스트박스에 입(출)력된 값을 폼에 저장하기

작성일 2022.10.25댓글 2건
    게시물 수정 , 삭제는 로그인 필요


textbox1,textbox2 에 입(출)력된 값이 폼을 재실행 하여도 유지 할 수 있는 방법이 어떻게 되나요...

textbox1 = 현재시간 출력
textbox2 = 현재시간에서 +162시간 계산되어 출력
button1 = 폼(.exe파일)을 재실행 했을때 textbox1,2 출려된 값을 유지 할 수 있게 저장



#c# 윈폼 #c# 윈폼 프로젝트 #c# 윈폼 디자인 #c# 윈폼 예제 #c# 윈폼 타이머 #c# 윈폼 도구상자 #c# 윈폼 멀티스레드 #c# 윈폼 복사 #c# 윈폼 계산기 #c# 윈폼 게임

profile_image 익명 작성일 -

별도의 상태 파일 및 상태정보를 저장할 파일기반 데이터베이스에 마지막 상태를 저장해두고 프로그램 실행 시 해당 상태 파일 및 상태정보 DB에서 다시 불러오는 방법을 사용해야합니다.

profile_image 익명 작성일 -

아마 textBox1 에는 현재 시간이 업데이트되어야 하는 조건이 있는 것 같네요.

아래 코드는 타이머(PeriodicTimer 클래스)를 사용해서, textBox1 의 시간 값이 1초마다 갱신되도록 구현했습니다.

시간값은 파일에 텍스트값으로 저장됩니다.

참고 PeriodicTimer 클래스는 .Net 6 에서 도입된 객체입니다. 윈폼 프로젝트를 .Net Framework 가 아닌 .Net을 대상 프레임워크로 지정해야 합니다.

폼 디자이너

폼 코드

namespace WinFormsMP { public partial class Form1 : Form { private static string s_filePath = Path.Combine(SpecialDirectories.CurrentUserApplicationData + @"\form1Data"); private static readonly PeriodicTimer s_timer = new (TimeSpan.FromSeconds(1)); private DateTime _now; public Form1() { InitializeComponent(); // 실행 컴퓨터에서 데이터 파일의 위치를 출력창에 보여줌. Debug.WriteLine(s_filePath); } private async Task StartTimer() { while (await s_timer.WaitForNextTickAsync()) { UpDateTimeBoxes(); } } private void UpDateTimeBoxes() { this._now = DateTime.Now; textBox1.Text = $"{_now.Year}-{_now.Month}-{_now.Day} {_now.Hour}:{_now.Minute}:{_now.Second}"; var now2 = _now.AddHours(162); textBox2.Text = $"{now2.Year}-{now2.Month}-{now2.Day} {now2.Hour}:{_now.Minute}:{_now.Second}"; } // Form.Load 이벤트의 핸들러. // 폼이 로드되면 이벤트가 호출됨. private void Form1_Load(object sender, EventArgs e) { UpDateTimeBoxes(); _ = StartTimer(); } private void SaveButton_Click(object sender, EventArgs e) { if(File.Exists(s_filePath)) File.Delete(s_filePath); string[] toBeSaved = { textBox1.Text }; File.WriteAllLines(s_filePath, toBeSaved); textBox3.Text = textBox1.Text; } private void LoadButton_Click(object sender, EventArgs e) { if (File.Exists(s_filePath)) { textBox3.Text = File.ReadAllText(s_filePath); } } } }

그리고, 파일 경로를 직접 지정하지 않고, 프로그램이 실행되는 환경에 따라 자동으로 선택되도록 아래와 같이 지정했습니다.

SpecialDirectories.CurrentUserApplicationData + @"\form1Data"

윈도우10의 경우, SpecialDirectories.CurrentUserApplicationData 값은 아래의 폴더가 지정됩니다.

C:\Users\{사용자계정}\AppData\Roaming\WinFormsMP\WinFormsMP\1.0.0\form1Data

경로에서 가장 마지막에 있는 {form1Data} 는 확장자가 없는 파일명으로 취급됩니다.

실행화면입니다.

참고로, 현재는 파일을 사용하여 공부를 하지만, 나중에는 데이터베이스에 저장해야 한다는 점 기억해두세요.

c# 텍스트박스 저장

... 폼에 텍스트박스2개가 있고 저장버튼을 하나 만들었습니다.... 디자인 타임에 Properties > Setting 클릭해서 변수/ 형태로 저장해 두고 2.Form_Load에서...

c# 윈폼 질문입니다.

텍스트 박스안에서 텍스트 파일안에 있는 랜덤한... 종료시 => 현재의 필드값을 => 텍스트 문서에 저장하여 계속 유지한다. 6. 또는 저장없이 현재 텍스트...

저장되어있는 내용을 텍스트 박스네...

... 두개가 저장되어있습니다. 이 두개의 내용을 c# 폼 텍스트 박스1, 2 에 영어는 텍스트 박스 1에, 뜻은... sqlcommand를 윈폼에 넣고 연결추가하여 현재 사용하고 있는...

c# 윈폼 mdi stiring 넘겨주기...

... // 넘겨주기 // 물론 자식 이 명확하면... // ID 폼으로 부터 받은 즉 값이 저장된 변수로... Text", 콤보박스면 "해당콤보박스명.Text" .. public string...

안녕하세요 c# 윈폼 mdi stiring ...

... // ID 폼으로 부터 받은 즉 값이 저장된 변수로 대체하셔요 info.... 콤보박스에서 자식이 될 하나 선택하여 해당 폼을 여세요 string...