분류 전체보기
-
WPF 새 윈도우 위치 지정C#/WPF 2018. 1. 5. 11:16
WPF에서 어떤 위도우에서 새로운 윈도우를 불러낼 때가 있습니다. 이 때 새 윈도우가 생성되는 위치는 프로그램이 첫 실행된 위치에서 생성되게 됩니다. 윈도우의 위치는 해당 윈도우의 Top 속성과 Left 속성으로 인해 결정되게 되는데(MSDN), 이 속성이 프로그램의 첫 실행시에 결정되는 것입니다. 그래서 원하는 곳에 윈도우를 띄우기 위해서는 Top과 Left 속성을 설정해주어야 합니다. 간단한 예로 호출하는 윈도우의 중앙에서 창이 생성되도록 하는 코드입니다. 123456789private void Information_Click(object sender, RoutedEventArgs e){ InformationWindow informationWindow = new InformationWindow(); ..
-
WPF 실행파일 위치 알아내는 법C#/WPF 2017. 12. 29. 10:37
사용자가 프로그램을 사용할 때 현재 실행파일(.exe 파일)이 있는 위치는 사용자마다, 혹은 매번 다를 수 있습니다. 그렇기에 상대경로가 필요한데, 현재 실행파일의 위치를 기준으로 한 상대적 경로입니다. 하지만 결국 파일에 접근하기 위해서는 절대 경로가 필요한데, 현재 실행파일의 위치를 알려주는 속성이 있습니다. System.AppDomain.CurrentDomain.BaseDirectory ※ "using System" 선언 시 AppDomain.CurrentDomain.BaseDirectory 로 가능. string 형으로 현재 실행파일의 절대경로를 반환해주는데, 마지막\까지 포함된 상태로 반환됩니다. 아래는 간단한 예제입니다. 123456789101112131415private void ReadPe..
-
WPF 폰트(글꼴) 포함 배포C#/WPF 2017. 12. 20. 12:41
WPF로 프로그램을 만들어서 배포할 때에 프로그램에서 사용하는 글꼴이 사용자 컴퓨터에 없다면, 기본 글꼴로 바뀌게 된다. 그래서 이를 해결하기 위해 글꼴파일을 포함하여 배포하려한다. 이미지파일을 포함하여 배포하듯, 글꼴파일도 프로젝트에 포함시키면 되는 것이였다. (※단, exe파일에 같이 포함시키려면, 이미지파일과 같이 빌드 작업 을 Resource로 해주어야 한다. 이와 같이 프로젝트에 포함시켜 준 뒤 Label이나 TextBox 등에서 FontFamily 속성을 설정해주면 된다. 1 하지만 일반 이미지 파일을 넣듯 "Fonts\Daum_Regular.tff" 로 할 시에는 적용되지 않는다. 찾아본 결과 글꼴은 원래 글꼴 이름 앞에 #을 붙인 형태로 넣어야 한다고 한다. (ex. #나눔고딕) p.s. ..
-
이클립스 설치 (Eclipse Oxygen)Etc. 2017. 9. 15. 11:28
이번에 스프링을 공부하게 되어 이클립스를 다시 설치하게 되었습니다. 설치하면서 방법을 써보려 합니다. 이클립스의 2017.09.18 기준 최신 버전은 Oxygen 버전입니다. 윈도우 10 64bit 기준 설치 방법입니다. 먼저 이클립스 사이트로 가줍니다. http://www.eclipse.org/ 이곳이 이클립스 공식 사이트 입니다. 1. 우측 상단에 DOWNLOAD 버튼을 눌러줍니다. 2. 또 DOWNLOAD 버튼을 눌러줍니다. 현재 Oxygen 버전이 최신이여서 Oxygen 버전이 메인에 있습니다. 본인 운영체제 버전에 맞게 나옵니다. 3. 위에서 DOWNLOAD를 누르면 되지만, 서버가 한국이 아닐때가 있습니다. 서버는 바뀌는 거 같습니다. 저의 경우 Japan으로 되어 있어 굉장히 느렸었기 때문에..
-
WPF FontDialogC#/WPF 2017. 7. 18. 11:10
WPF에서 FontDialog를 사용하려면 꼭 System.Windows.Forms에 있는 FontDialog를 사용했어야 했습니다.(이전 글에서 설명 링크) 그런데 윈도우 7에서 .otf형식의 확장자를 사용하다보니 중간에 문제가 발생했습니다. 윈도우 10에서는 문제가 없었는데 말이죠. 그래서 Font Dialog를 직접 만들게 되었습니다. 급하게 필요한 기능만을 모아 간단하게 만들었습니다. 코드는 git hub에 올려두었습니다. (링크) .net framework 3.5 버전 이상이 설치되어 있으면 가능하며, 윈도우 7 부터는 3.5버전이 기본 설치되어 모두 사용 가능합니다. 버전 1의 코드를 여기에 올려놓겠습니다. 12345678910111213141516171819202122232425262728 ..
-
WPF Font Family 한글 표시C#/WPF 2017. 5. 12. 11:30
WPF 에서 시스템에 있는 폰트를 ComboBox 를 통해 혹은 List 를 통해 볼 수 있습니다. 그러나 WPF에서 제공해주는 폰트들은 영어로 표시가 되어 한글 폰트들도 영어 이름으로 나옵니다 예를 들어 "맑은 고딕" -> "Malgun Gothic" 과 같이 말입니다. 그래서 한글로 표시해 주는 방법을 찾아보았습니다. 참고 먼저 System.Windows.Markup.XmlLanguage 에서 GetLanguage 라는 함수를 통해 현재 System 의 언어(System.Globalization.CultureInfo.CurrentUICulture.Name)의 Key를 불러옵니다.(우리의 경우 ko-kr) 그 뒤 Fonts 의 SystemFontFamilies 로 해당 컴퓨터에 있는 Font List로..
-
C# 높은 수준의 랜덤 숫자 (Good Random Number)C# 2017. 3. 23. 13:00
아마 임의의 숫자를 사용하실 때에 Random 클래스를 통해 Next를 사용하여 얻으실 것입니다. 하지만 이는 seed값이 계속 동일하다면 결국 나중에는 같은 패턴의 숫자들이 나오게 됩니다. 보통 seed값을 매우 큰 값을 주어서 일반적인 상황에서는 다시 나오게 되기 힘들지만,계속해서 많이 돌린다면 같은 패턴이 나오게 될 수 있지요. 아니면 그냥 Random보다 더 좋은게 없을까 하시는 분이 계실 수 있습니다. C#에서는 이를 지원해줍니다. System.Security.Cryptography 네임스페이스에 있습니다.이는 보안을 위한 네임스페이스인데, 여기서 높은 수준의 랜덤 넘버를 만들어 줍니다. 우선 만들어 본 Random 함수입니다. 1234567891011121314151617181920/// //..