[C#/WPF] 둥근 버튼 만들기 & 마우스 오버 글자 크기 및 색 변경 버튼을 둥글게 만들고 MouseOver 이벤트로 글자 크기 및 색상을 변경하고 싶다면 아래와 같은 xaml 코드를 입력하면 쉽게 변경이 가능합니다 위와 같이 입력하면 15만큼 라운딩 처리가 되고 기본 글자 크기가 9와 생상은 Gray 색으로 있다가 MouseOver 때는 글자 크기가 12와 색상은 Black 생상으로 변경이 됩니다 제 글이 도움이 되셨다면 댓글 & 공감 부탁드려요 😀 Application/C# (WPF) 2023.07.14
[C# WPF] 파일명 & 버전 가져오기 실행되고 있는 파일명 혹은 파일 버전을 가져오고 싶다면 using System.Windows; using System.Reflection; 2가지 namespace를 추가하고 string strName = Application.ResourceAssembly.ManifestModule.Name; string strVer = Assembly.GetExecutingAssembly().GetName().Version.ToString(); strName은 파일명을 strVer는 프로그램 버전을 가져올 수 있습니다 제 글이 도움이 되셨다면 댓글 & 공감 부탁드려요 😀 Application/C# (WPF) 2023.01.26
[C# WPF] 스피커 & 마이크 설정하기 스피커 혹은 마이크 설정을 프로그램에서 지정하려고 할 때는 CoreAudioApi 를 이용하면 쉽게 설정 가능합니다 https://learn.microsoft.com/en-us/windows/win32/coreaudio/core-audio-apis-in-windows-vista Core Audio APIs - Win32 apps Core Audio APIs learn.microsoft.com 우선 ENUM 과 전역 변수로 디바이스 정보를 설정합니다 public enum ENUM_SOUND_DEVICE : int { None = 1, Speaker, Headset, Earphone, MAX } private string strSpeaker = "스피커"; private string strHeadset = .. Application/C# (WPF) 2023.01.25
[C# WPF] GIF 파일 재생하기 (MediaElement) gif 파일을 실행하고 싶다면 기본 컨트롤중 MediaElement를 활용하면 재생이 가능합니다 사용법은 MediaElement me = new MediaElement(); me.Tag = strSite; me.Stretch = Stretch.Fill; me.Width = iWidth; me.Height = iHeight; me.UnloadedBehavior = MediaState.Manual; me.Source = new Uri(strImagePath, UriKind.RelativeOrAbsolute); me.MediaEnded += new RoutedEventHandler(me_MediaEnded); 컨트롤 배치 후 코드를 작성하게 되면 자동으로 gif 파일이 움직이게 됩니다 하지만 gif가 끝나는 .. Application/C# (WPF) 2023.01.18
[C# WPF] Background 이미지 설정하기 UIElement (Control)의 배경 이미지를 특정 파일로 설정하려면 string strImagePath = AppDomain.CurrentDomain.BaseDirectory + @"\img.jpg"; if (File.Exists(strImagePath)) { System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(strImagePath); BitmapSource bitmapSource = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(bmp.GetHbitmap() , IntPtr.Zero , Int32Rect.Empty , BitmapSizeOptions.FromEmptyOptions()); .. Application/C# (WPF) 2023.01.17
[C# WPF] 이미지 화질 개선 (Bitmap 화질 높이기) C# WPF 를 사용하다 보면 크기 조정 등으로 이미지가 깨지거나 일그러질 경우 자체적으로 보완하는 함수가 존재합니다 해당 함수는 System.Windows.Media.RenderOption.SetBitmapScalingMode 함수로 해당 함수 사용 시 옵션에 따라 개선된 이미지를 제공받을 수 있습니다 사용법은 System.Windows.Media.RenderOption.SetBitmapScalingMode(this, BitmapScalingMode); 위의 방식으로 2번째 인자값에는 public enum BitmapScalingMode { // 요약: // System.Windows.Media.BitmapScalingMode.Linear인 기본 비트맵 배율 조정을 사용합니다. Unspecified =.. Application/C# (WPF) 2023.01.16
[C# WPF] X / Y 좌표로 Margin 위치 구하기 C# WinForm의 경우 X, Y 좌표값으로 컨트롤을 배치하는 반면 WPF의 경우 Margin으로 좌표 위치를 구해야 합니다 그럴 경우 해당 컨트롤의 크기만 있으면 해당 Margin 값을 쉽게 구할 수 있습니다 현재 창의 크기를 가져와서 계산 후 컨트롤의 Margin 값을 대입시키면 됩니다 int iRMargin = (int)this.Width - {X_POS} - {Control_Width}; int iBMartin = (int)this.Height - {Y_POS} - {Control_Height}; {Control}.Margin = new Thickness((double){X_POS}, (double){Y_POS}, (double)iRMargin, (double)iBMartin); 위의 형태로 함.. Application/C# (WPF) 2023.01.13
[C# WPF] 마우스 올렸을때 변화 주기 (IsMouseOver Trigger) xaml 파일에서 마우스 올렸을 때 TextBlock의 글자 크기나 색상을 변경시키고 싶을 때 아래와 같이 작성하면 쉽게 구현이 가능합니다 위와 같이 작성을 하면 마우스를 올리기 전 기본일 때는 폰트 크기는 12 글자 색상은 #D3D3D3 값을 가지고 있다가 마우스가 올라오면 폰트 크기는 16으로 글자 색상은 흰색으로 변경됩니다 Padding의 경우 마우스 위치를 중앙에 맞춰주기 위해 임의의 값을 넣었습니다 제 글이 도움이 되셨다면 댓글 & 공감 부탁드려요 😀 Application/C# (WPF) 2023.01.12
[C# WPF] 함수에서 다중 인자 값 넘겨 받기 함수를 사용하다 보면 다중 인자 값을 받아야 할 경우가 생깁니다 이럴 때는 아래와 같이 코드를 작성해 주시면 됩니다. public void ListLoad(params string[] strPath) { //사용법 1 foreach (string Values in strPath) { MessageBox.Show(Values); } //사용법 2 int iArgs = strPath.Length; for (int iCnt = 0; iCnt < iArgs; iCnt++) { MessageBox.Show(strPath[iCnt]); } } 사용법 1의 경우 Foreach 사용방법이고 사용법 2의 경우 인자값의 크기를 가져와서 For 문으로 처리하는 방식입니다 제 글이 도움이 되셨다면 댓글 & 공감 부탁드려요 :) Application/C# (WPF) 2023.01.11
[C# WPF] 파일의 아이콘을 추출해서 BitmapImage 변환하기 특정 파일의 아이콘을 추출하여 BitampImage로 변환을 하기 위해서는 아래와 같은 함수를 사용하면 됩니다 private BitmapImage LoadIcon(string filename) { Icon ico = System.Drawing.Icon.ExtractAssociatedIcon(filename); Bitmap bmp = ico.ToBitmap(); MemoryStream ms = new MemoryStream(); bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp); BitmapImage bi = new BitmapImage(); bi.BeginInit(); bi.StreamSource = ms; bi.CacheOption = BitmapCacheO.. Application/C# (WPF) 2023.01.10