Programming 321

C#/ 싱글톤 디자인 패턴 구현(singleton design pattern)

# 코드 public class Design { Design() { } static Design _instance = null; public static Design Instance { get { if (_instance == null) { _instance = new Design(); } return _instance; } } # 사용 Design d = Design.Instance; 이 코드는 싱글톤(Singleton) 디자인 패턴을 구현한 것입니다. 싱글톤은 어떤 클래스가 최초 한 번만 메모리를 할당하고 그 메모리에 인스턴스를 생성해 사용하는 패턴입니다. 이 패턴은 전역 변수를 사용하지 않고 객체를 하나만 생성하여 이를 어디에서든지 접근할 수 있도록 하는데 사용됩니다. 해당 코드를 간략히 설명하면:..

C#/ 트레이 아이콘 사용

# 기본 참조 https://minimax95.tistory.com/entry/c%ED%8A%B8%EB%A0%88%EC%9D%B4-1%EC%95%84%EC%9D%B4%EC%BD%98Tray-Icon-%EC%A0%81%EC%9A%A9%ED%95%98%EA%B8%B0 [c#]트레이 아이콘(Tray Icon) 적용하기 이번 포스팅에서는 트레이 아이콘에 대해 알아보고 간단하게 트레이 아이콘을 사용해서 폼을 열고 프로그램을 닫는 기능을 구현해 보겠습니다. 트레이 아이콘은 사실 알게 모르게 많이 사용하 minimax95.tistory.com

C#/ 프로그레스 바(progress bar) 사용

# 상태라인 표시 함수 // 프로그레스바 winform ui 스레드 처리 public void UpdateProgressBar(int value) { if (progressBar1.InvokeRequired) { progressBar1.Invoke(new Action(UpdateProgressBar), value); } else { progressBar1.Value = value; } } * winform UI 특성 상의 크로스 스레드 문제를 해결하기 위해 .InvokeRequired 함수를 사용. # 함수를 사용하여 프로그레스바 사용하기 private void UseProgressBar_Click(object sender, EventArgs e) { // 프로그레스바가 우측하단에 위치하도록 설정 frm..

C#/ 프로그램 자동 업데이트 (Clickonce)

# 기본 참조 https://luvris2.tistory.com/635 C# Winform - Clickonce 사용 방법, 게시/배포하기, 자동 업데이트 구현하기 Overview 클릭원스를 이용하여 앱의 자동 업데이트를 구현합니다. 앱 실행 업데이트 확인 프로그램 실행 업데이트가 필요한 경우 : 업데이트 진행 업데이트가 필요하지 않은 경우 : 프로그램 실행 luvris2.tistory.com

InnoSetup 사용(설치 프로그램 만들기)

# 설치 실행 프로그램 만들기 참조 https://j2su0218.tistory.com/94 [유니티 Unity] 유니티 빌드 파일, 설치 프로그램으로 만들기 ( Inno Script Studio ) [ Inno Script Studio 설치 방법 ] 설치 파일을 만들기 위해서 일단 다음 사이트에서 Inno Script Studio를 설치해주어야한다. Inno Setup 프로그램 다운로드 사이트 ▷ jrsoftware.org/isdl.php Inno Setup Downloads ISCrypt. j2su0218.tistory.com

Programming/etc 2023.12.01

윈도우(Windows)11 설치 사양

# 공식 필요 사양 # TPM 사양 문제 https://m-sooriya.tistory.com/740 윈도우11 우회 설치 방법 (CPU, TPM 낮아도 강제 업그레이드 하는 방법) 윈도우11 권장 사양 상관없 안녕하세요. 최근 2021년 10월 5일부로 마이크로소프트에서 윈도우11을 무료로 배포하기 시작했습니다. 따라서 윈도우11로 업그레이드 하거나 클린 설치까지는 무료로 진행할 수 있습니다. 하지만 m-sooriya.tistory.com # MBR/ GPT 파티션 테이블 문제 https://openart.tistory.com/954

Programming/etc 2023.11.29

C#/ 엑셀(excel) 사용하기

# Nuget으로 해당 라이브러리 설치 필요(Microsoft.Office.Interop.Excel) using Excel = Microsoft.Office.Interop.Excel; static void cleanExcelMethod(string filePath) { // 엑셀 애플리케이션 시작 Excel.Application excelApp = new Excel.Application(); excelApp.Visible = false; // 워크북 열기 Excel.Workbook workbook = excelApp.Workbooks.Open(filePath); // 모든 워크시트 순회 foreach (Excel.Worksheet worksheet in workbook.Sheets) { // 워크시트의 ..

C#/ SMTP(이메일 보내기)

# SMTP (Simple Mail Transfer Protocol) 설정(gmail) https://hyunmin1906.tistory.com/276 [Go] Google Gmail SMTP 설정 방법 및 메일 전송 ■ SMTP 간이 우편 전송 프로토콜(Simple Mail Transfer Protocol)의 약자. 이메일 전송에 사용되는 네트워크 프로토콜이다. 인터넷에서 메일 전송에 사용되는 표준이다. 1982년 RFC821에서 표준화되어 현재 hyunmin1906.tistory.com public void sendMail(string place, string error) { try { // 이메일 메시지 생성 MailMessage mail = new MailMessage(); mail.From = ..