목록윈폼 (6)
개발자 블로그
콤보박스 선택된 인덱스의 변경이벤트를 위해서 SelectedIndexChanged 이벤트를 구현한다. 이 경우 소스코드를 통한 변경에도 SelectedIndexChanged 이벤트가 호출된다.경우에 따라 프로그램 코드를 통한 콤보박스 선택인덱스를 변경하는 경우에는 이벤트를 타지 않기를 원하는 경우가 있다. 아래 설명하는 내용은 사용자가 직접 콤보박스의 인덱스는 변경하는 경우에만 이벤트를 타도록 하는 방법이다. 1. Focused 프로퍼티를 이용하는 방법Focused 프로퍼티는 해당 컨트롤에 포커스가 있는지 여부를 조사한다. 사용자가 조작하는 경우에는 해당 컨트롤이 포커스를 받고있기 때문에 true가 된다. 이를 이용하는 코드는 아래와 같다. private void comboBox_name_Selected..
프로그램을 좀 더 이쁘게 꾸미고 싶어서 텍스트박스에 배경이미지를 넣고 싶었는데, C#의 텍스트박스는 기본적으로 배경이미지(Background Image)를 지원하지 않는다. 구글링을 통해서 몇 가지 방법을 찾았는데 딱히 적당한 방법이 없어서 일단은 배경이미지 없이 개발하기로 마음먹었다. 추후 다시한번 검토를 해본 뒤 적용할 예정이다.나중에 다시 구글링 하는 수고를 덜기위해서 찾아놓은 방법들을 정리해본다. 다만, 사전조사 차원에서 찾아본 것이라서 내용이 약간(?) 부실 할 수 있다. 추가적인 정보가 필요한 경우에는 링크를 참조하거나 관련 키워드로 검색해보면 될 것 같다. 1. Textbox 상속을 통한 paint 이벤트 오버라이드 TextBox를 상속받아서 새로운 TextBox를 만드는 방법. OnPain..
이미지 저작 툴.. 이라는 용어가 맞는지는 잘 모르겠는데,, 일단 개발한 프로그램은 텍스트를 입력하고, 사진의 경로를 입력하면 최종적으로 입력한 글과 사진을 조합해서 하나의 이미지 파일로 만들어주는 그런 프로그램이다.뭐,, 프로그램도 같이 공개하고 싶은데,, 공개할정도로 완성도 있게 개발도 안되었고,,(디자인 작업이 너무 크다,,ㅠㅠ) 공개할만큼 범용적으로 쓸 수 있는 그런 프로그램도 아니라서,,혹시 나중에 필요해지면 그 때 조금 다듬어서 공개를 해볼까 싶다.아래 링크는 개발하면서 참고했던 사이트들이다. http://infodbbase.tistory.com/109 PictureBox 컨트롤의 이미지를 파일로 저장 https://msdn.microsoft.com/ko-kr/library/baw6k39s(v..
C#에서 윈폼 프로그래밍에서..안내메시지 같은 문자열을 소스에 직접 넣은 것 보다 리소스 파일(Resources.resx)을 이용하면 개발할 때는 조금 번거로울지 몰라도 나중에 수정하거나 유지보수 할 때 매우 편하다. 한 줄 짜리 메시지가 아니라 여러줄로 구성 된 문자열의 경우, 개행문자는 Shift + 엔터로 넣어주면 된다. (소스에 넣을 때 처럼 \n 문자를 이용하지 않는다.)참고로 내가 사용하는 Visual Studio 버전은 2015 커뮤니티 에디션.
C# Winform의 FormBorderStyle을 None으로 설정한 경우(또는 CreateParams를 통해서 WS_CAPTION 스타일 속성을 제거한 경우) 창을 최대화하게 되면 작업표시줄까지 덮어버리는 문제가 생긴다. 최대화 버튼을 클릭했을 때, 아래 코드를 사용해서 창을 최대화 시키면 이러한 문제가 발생하는데 Form.WindowState = FormWindowState.Maximized; 대략 두 가지 해결 방법이있다. 1. 직접 사이즈를 설정 말 그대로 폼의 사이즈를 직접 입력한다. 시스템속성을 통해서 WorkingArea를 조회 한 뒤에 해당 크기로 폼의 크기를 설정한다. 예제 코드는 아래 링크를 참조. http://www.devpia.com/MAEUL/Contents/Detail.aspx..
C# 윈폼 프로그래밍에서 사용자가 지정한 마지막 창 크기 및 위치 같은 정보를 저장하기 위해서 간단하게 ini 파일을 사용하기로 결정했다. winapi에는 이러한 기능을 하는 간단한 api가 있지만 C#에서 기본으로 제공하는 클래스에는 해당 기능을 하는 api가 없다. 하지만 해당 winapi를 import해서 사용할 수 있다. ※ 만약 신규로 프로젝트를 만드는 것이라면, Settings를 활용하자. 매우 편리하게 각종 설정항목을 저장할 수 있다. 사용방법도 정말 간편하다. 아래 유튜브 동영상 한 번 보면 바로 따라서 사용할 수 있다. ini 대신 아래 방법을 사용할 것을 적극 권장한다. 아래 링크에서 해당 api를 import해서 사용하는 클래스 예제를 확인할 수 있다. http://kindtis.ti..