jfri kim
인터넷에 검색시 여러가지 방법이 나오지만 윈도우 시작시 실행될 경우 작동하지 않는 경우가 생겨서어떤 방법이 권장할 수 있는 방법인지 테스트해보았다. 1. System.Windows.Forms.Application.StartupPath우선 WPF에서도 윈폼에서 쓰이는 방법인 Application.StartupPath를 사용하는것이 가능하다.단, 앞에 System.Windows.Forms.을 추가해야 한다.윈폼에서 사용하는 방법으로 WPF에서도 정확하게 작동함을 알 수 있다.윈폼에 정말 편리한 기능이 많아서 WPF 프로그램을 만들때 아쉬울때가 많다.물론 윈폼의 기능 대부분을 이용할 수 있지만... 2. Directory.GetCurrentDirectory()프로그램의 실행파일의 폴더경로를 알아내지 못하고 ..
윈폼에서는 IndexFromPoint 메서드를 통해 클릭이벤트가 발생된 커서 위치의 ListBoxItem의 Index를 쉽게 가져올 수 있었지만 wpf에서는 직접 알아내야 한다. 일단 Context Munu를 만들어야한다. ContextMenu contextMenu = new ContextMenu();MenuItem menuItemRename = new MenuItem();menuItemRename.Header = "이름 바꾸기";contextMenu.Items.Add(menuItemRename); MenuItem menuItemDelete = new MenuItem();menuItemDelete.Header = "삭제"; contextMenu.Items.Add(menuItemDelete); wpf의 L..
이 프로그램은 막 윈폼 기초수준을 끝마치고 작성한 첫 윈폼 프로그램이다.이니셜이 MA인 게임의 한글화를 보조하는데 사용된 프로그램이다. 폼로드 이벤트시 SetupDataGridView 와 SetData 메서드로 어느정도 정규화 해보려는 시도가 보인다.그런데 전체코드를 보면 SetupDataGridView 와 SetData 가 따로 사용된 적은 없어서 한 메서드로 해도 되지 않았나 싶다.심지어 프로그램 시작시 1번밖에 사용되지 않지만.. 훗날을 생각하면 이런식으로 메서드를 만들어 놓는 것도 좋은것 같다. SetupDataGridView 메서드는 DataGridView를 설정하는 메서드이다. 이런식으로 데이터그리드뷰를 3열로 만들고 열의 이름을 정하는 내용이다.이건 디자인편집기에서 편하게 할 수 있기 때문에..
생각보다 이것에 대한 정보가 많이 없고 알려진 방법중에 제한점이 있는 방법들이 많아서제일 괜찮은 방법을 찾은김에 정리해봅니다. //InitializeComponent 후에 바로 ShowInTaskbar를 false로 하여 작업표시줄에 나오지 않게 합니다.//ShowInTaskbar를 false로 하면 키보드 후킹이 되지 않습니다.//따라서 Form이 보이고 난후 다시 true로 바꿔줘야합니다.//Opacity를 0으로 하면 Form이 보이지 않습니다. 이또한 후에 다시 바꿔줘야합니다.public Form() { InitializeComponent(); this.ShowInTaskbar = false; this.Opacity = 0;} //Form의 Shown 이벤트에서 Hide..
초보개발자가 연습만 하다가 최초로 그럴듯한 습작을 개발하려고할때어셈블리 정보는 어떻게 작성해야할까?컴파일 후에 실행파일의 속성을 확인해보면 어느정도 감을 잡을수있습니다. 굉장히 의외로 제목이 파일 설명에 표시되고 설명은 표시되지 않습니다.회사 또한 표시되지 않습니다.제품은 제품이름으로 프로그램명을 쓰면 됩니다.저작권은 Copyright ⓒ (년도)로 자동 작성되어있을것입니다.Copyright ⓒ (년도)뒤에 .을 찍고 저작권자 이름을 쓰면됩니다.그 뒤에 All Right Reserved. 까지 쓰면 좋지만 표시 칸이 짧기 때문에 생략해도 괜찮지 않을까 합니다.자세한건 저작권 표기법을 따로 검색하여 참고하는 것이 좋을것입니다.상표는 등록 상표로 표시됩니다. 특허나 상표권이 있다면 특허명이나 상표명을 쓰면 ..
■WPF에서 private void TextBox_KeyDown(object sender, KeyEventArgs e) { ((TextBox)sender).Text = e.Key.ToString(); //논리적 Focus 해제 - TextBox의 LostFocus 이벤트가 실행 FocusManager.SetFocusedElement(FocusManager.GetFocusScope((TextBox)sender), null); //키보드 Focus 해제 - 창에서 커서 깜빡임이 해제 Keyboard.ClearFocus();} TextBox에 한글자 입력 후 포커스가 해제되어야 하는 경우에 사용했습니다. Keyboard.ClearFocus(); 만으로 커서깜빡임이 해제되지만Tex..