C#
-
WPF 글씨에 그림자 효과 (Shadow Text)C#/WPF 2017. 1. 13. 13:55
폰트에는 따로 그림자를 넣어주는 효과가 없습니다. 그림자는 Label과 같은 컨트롤에 Effect를 통해서 넣어주어야 합니다. (해당 그림자 효과는 Lable, TextBox, TextBlock 등 여러 곳에 사용이 가능합니다. Label로 예를 들어 설명하겠습니다.) DropShadowEffect 라는 클래스를 통해서 해주면 됩니다. (System.Windows.Media.Effects.DropShadowEffect) 이 클래스의 속성들을 통해 그림자를 설정해준 뒤 Label에 적용시켜 주시면 됩니다. 12System.Windows.Media.Effects.DropShadowEffect shadow = new System.Windows.Media.Effects.DropShadowEffect();lbl...
-
C# 함수 설명 추가하기C# 2016. 12. 30. 12:10
BCL을 사용해보면 함수를 사용하기 전에 어떤 기능을 하는 함수인지 설명을 해주는 글이 있습니다. 이를 직접 만든 함수에서 적용해 보겠습니다. /// /// Function for Applying All to Label/// /// public void ApplyAllToLabel(Label lbl){lbl.FontFamily = FontFamily;lbl.FontSize = FontSize;lbl.FontStretch = FontStretch;lbl.FontStyle = FontStyle;lbl.FontWeight = FontWeight;lbl.Foreground = Foreground;} 위와 같은 함수가 있다고 할 때, summary를 추가해주면 함수를 호출할 때에 설명글이 뜹니다. 추가하는 간단한..
-
C# WPF Font 폰트 클래스 사용(직렬화, Label에 적용)C#/WPF 2016. 12. 29. 14:29
공부하다 보니 WPF에서는 WinForms의 FontDialog에서 입력받은 폰트를 Label에 적용시키기가 번거로웠다. 또한 FontFamily 와 FontWeight등 폰트와 관련된 것들은 json으로 직렬화가 되지 않고, 몇몇은 직렬화가 되어도 정확한 내용이 저장되지 않았다. 그래서 직접 사용하기 위해 클래스를 만들었다. (2017.01.16 수정) WPF에는 Font 클래스가 따로 존재하지 않는다. FontFamily와 FontWeight, FontSize, FontStyle, FontStretch 가 존재하는데, 이들은 각각 서체, 굵기, 크기, 스타일, 늘어나는 정도를 뜻한다. Label은 이들이 각각 따로 설정되어 있어서 한번에 적용시키는 것이 불가능한데, 이를 간편히 하기 위해 ApplyT..
-
C# string에서 숫자 format (문자열에서 숫자 형식) 정리C# 2016. 12. 26. 15:36
문자열에 숫자를 표시할 때에 format을 정해줄 수 있는데, 해당 format 을 정리했습니다. 형식 지정자는 대문자와 소문자 모두 가능하며, 대소문자에 따라 표시되는 문자열의 형식 문자들이 대소문자를 따라갑니다. 형식 지정자 이름 설명 예제 C 통화 결과: 통화 값 지원되는 형식: 모든 숫자 형식 전체 자릿수 지정자: 소수 자릿수 기본 전체 자릿수 지정자: NumberFormatInfo.CurrencyDecimalDigits에 의해 정의됨 추가 정보: 통화("C") 서식 지정자 123.456 ("C", en-US) -> $123.46 123.456 ("C", fr-FR) -> 123,46 € 123.456 ("C", ja-JP) -> ¥123 -123.456 ("C3", en-US) -> ($123...
-
WPF Brush 와 SolidColorBrush, ColorC#/WPF 2016. 12. 23. 15:05
WPF 컨트롤들의 Foreground는 보통 Brush 형으로 되어있습니다. 그런데 색을 표현할 때에는 Color 형으로 저장 되는데요.여기서 Color 는 System.Windows.Media.Color 로 구조체 입니다. 그리고 Color 에서 Brush로 바로 대입이 되지 않습니다. 그래서 Color에서 Brush 로 대입하는 방식입니다. Color color = Color.FromRgb(0, 0, 0); // 임의의 Color형 변수Brush bsh = new SolidColorBrush(color); SolidColorBrush 는 Brush를 상속하였기 때문에 이런식으로 SolidColorBrush 를 생성한 뒤 Brush로 대입이 가능합니다. 하지만 반대로 Brush에서 SolidColorB..
-
WPF 에서 toast 메시지 만들기C#/WPF 2016. 12. 5. 14:49
안드로이드에는 알림창으로 toast 메시지가 있습니다. 하지만 wpf에서는 윈도우 메시지 같은 형식밖에 없는데요, Label과 DoubleAnimation을 이용하여 toast 메시지와 비슷한 형식을 만들어 보았습니다. using System.Windows.Media.Animation; private void ToastMessage(string message){lblToast.Content = message; DoubleAnimation dba1 = new DoubleAnimation();dba1.From = 0;dba1.To = 1;dba1.Duration = new Duration(TimeSpan.FromSeconds(1.5)); DoubleAnimation dba2 = new DoubleAnimat..
-
C# 텍스트 파일 읽기 (한글 깨짐)C# 2016. 12. 1. 11:16
C#에서 txt파일을 읽어오는 방법입니다. ReadAllLines 는 \n 을 기준으로 한 줄씩 불러오는 것이며, 이는 각각 string배열의 원소로 들어갑니다. ReadAllText 는 txt파일을 한번에 string 형으로 불러오는 것입니다. 이 둘은 호출하는 법이 같고, 반환형만 다르기 때문에 하나를 기준으로 설명해 드리겠습니다. ReadAllLines(파일 경로); 가 호출하는 기본적인 방법입니다. 허나 이 방법으로 호출하면 한글이 깨지는 일이 발생하기도 하는데요, 그럴 때는 Encoding 방식을 정해주어야 합니다. ReadAllLines(파일 경로, Encoding.~); 이 Encoding 방식을 정해주는 방법입니다. 한글이 깨질 때에는 Encoding.Default로 설정해 주시면 됩니다...
-
C# WPF 윈도우 전체화면C#/WPF 2016. 11. 29. 15:52
※ 블로그를 이전하며 이 글을 개선하여 포스팅했습니다. (링크) WPF로 만든 윈도우가 전체화면이 되게 하는 것입니다. 참조는 따로 안해주셔도 됩니다. Enter 키를 누를 경우 전체화면/원래상태 로 전환하도록 합니다. private void Window_KeyDown(object sender, KeyEventArgs e) { switch (e.Key) { case Key.Enter: if (this.WindowState == WindowState.Maximized) {// 전체화면 이라면 // 원래 상태로 되돌리기 this.WindowStyle = WindowStyle.SingleBorderWindow; this.WindowState = WindowState.Normal; this.Topmost = f..