본문 바로가기
300x250

전체 글302

C# 솔루션 및 프로젝트 만들기 Visual Studio 실행 후 프로젝트 생성에 들어가서 콘솔 앱(.NET Framework), 클래스 라이브러리(.NET Framework), Windows Form 앱(.NET Framework) 등을 선택해서 프로젝트를 만들면 되는데 우측 아래에 보면 솔루션용 디렉토리 체크를 하는 곳이 있다. 예를 들어 이름을 Sample1로 작성하고 솔루션용 디렉토리에 체크 후 프로젝트를 생성 시 Sample1(Sample1.sln) 이라는 폴더 안에 다시 새로운 Sample1 폴더와 Sample1.sln 이라는 솔루션 폴더가 생성된다. 솔루션 파일과 같이 있는 Sample1 폴더는 프로젝트 폴더로써 이 폴더 안에 프로젝트 파일(Sample1.csproj) 과 cs 파일 등이 있다. Sample2로 이름을 작성.. 2019. 3. 6.
프로그램 실행 중 처리 하지 못한 예외 관리. 코드 작성 중 모든 예외를 다 처리할 수는 없을 것이다. 예상치 못한 예외가 발생했을 때 알 수 있도록 메시지로 출력되도록 할 수 있다. 1234567891011121314static void Main(){ Application.ThreadException += Application_ThreadException; Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new MainForm());} private static void Application_ThreadException(object sender, ThreadExceptionEventArgs e){ MessageB.. 2019. 2. 17.
프로그램 실행 시 폼 출력 안되게 하기. 프로그램 실행 시 폼이 출력 안되고 트레이 아이콘만 출력되게 해야할 경우가 있다. 그래서 처음에 시도해본 방법이 폼 생성되었을 때 Visible 값을 fasle로 하였는데 이렇게 했음에도 그대로 화면이 출력 되었다.(opacity = 0 으로 하는 방법도 있으나 이 방법은 제외 하였다.) 찾아보니 Visible 속성이 매우 중요한 속성이라 하면서 실제로는 OnLoad()가 실행된다고 한다. 그래서 Visible 속성을 아무리 바꾸려는 시도가 무시된다고 한다. 그래서 찾아보니 SetVisibleCore 를 사용하여 폼 출력 안되게 하였다. 문제는 이렇게 하니 종료할 때 아래의 동작이 한번 더 되는 문제가 발생하였다. 찾다보면 해결 방법이 있겠지만 잠시 테스트 해본거라 아 직은 모르겠다. 1234protec.. 2019. 1. 17.
C# 중복 실행 방지 중복 실행 방지 2가지 방법 생성된 실행파일을 반복해서 실행하니까 실행 시키는 족족 계속 프로그램이 열립니다. 이럴 필요까지는 없는데 말이죠... 찾아보니 어려운 내용들도 아닙니다. 4가지 정도 있던데 그 중 두개만 테스트 해보고, 첫번째 것을 적용 했습니다. 1. 프로세스를 가져와서 프로세스의 이름으로 중복 실행을 방지합니다. 같은 이름의 프로세스 이름이 2개 이상 있으면 경고 메시지 출력 되게 하였습니다. 1234567891011121314151617static void Main(){ Process[] procs = Process.GetProcessesByName("실행될 프로세스 이름"); // 두번 이상 실행되었을 때 처리할 내용을 작성합니다. if (procs.Length > 1) { Messa.. 2019. 1. 17.
'-' 키 입력 방지하기 TextBox나 NumericUpDown 에서 간혹 양수만 입력 받아야 할 때가 있다. 디자이너에서는 기본값이 0 ~ 100까지 위아래 화살표로 입력 받을 수 있도록 되어 있지만 키보드로 입력 시에는 -가 입력이 된다. -키를 입력 받지 못하게 하려면 아래와 같이 작성해두면 된다. 1234567private void NumericUpDown1_KeyPress(object sender, KeyPressEventArgs e){ if (e.KeyChar == '-') { e.Handled = true; }}Colored by Color Scriptercs 2019. 1. 14.
폼 닫기 했을 때 화면 사라지게 하기. 보통 폼의 'x' 표시를 누르게 되면 프로그램이 종료 된다. 그런데 간혹 폼을 종료하지 않고 화면을 사라지게 한다던가 최소화를 시켜야 할 때가 있다. 우선 아래와 같은 방법으로 폼을 사라지게 하지 않게 한다. 123456789#region MainForm_FormClosing/// /// 폼이 닫히기 전에 발생합니다./// private void MainForm_FormClosing(object sender, FormClosingEventArgs e){ e.Cancel = true;}#endregionColored by Color Scriptercs 이렇게 하면 폼에서 'x' 눌러도 종료가 되지 않고 최소화가 된다. 그리고 종료를 할 때는 트레이 아이콘에서 컨텍스트메뉴를 띄워 종료를 할 수 있게 만들었다.. 2019. 1. 14.
300x250