WPF 78

[wpf] c# ZedGraph 사용하기 - 선 그래프 간단 설정 방법

이번 포스팅에서는 자주 사용되는 세부 설정 6가지에 대해서 글을 정리해 보도록 하겠습니다. 혹시 ZedGraph를 다운로드하지 못하신 분은 이전 포스팅을 먼저 보고 와주시길 바랍니다. https://onlab94.tistory.com/136 [wpf] c# ZedGraph 사용하기 - 간편 사용 방법 처음 WPF에서 그래프를 그릴 때 관련 컨트롤이 존재하지 않아서 당황했었는데요. 인터넷 검색을 통해서 무료 버전의 live chart와 toolkit 등을 써보았지만 실시간이나 많은 양의 데이터를 처리하는 onlab94.tistory.com 1. Title : 그래프의 제목, x축과 y축에 다음과 같이 제목을 붙일 수 있습니다. GraphPane pane = graph.GraphPane; // 01. Tit..

[wpf] c# ZedGraph 사용하기 - 기본 사용법

처음 WPF에서 그래프를 그릴 때 관련 컨트롤이 존재하지 않아서 당황했었는데요. 인터넷 검색을 통해서 무료 버전의 live chart와 toolkit 등을 써보았지만 실시간이나 많은 양의 데이터를 처리하는 데 있어서 사용이 원활하지 않는 문제점이 있었습니다. 그리하여 저는 ZedGraph에 정착하게 되었습니다. 그럼 ZedGraph 사용법에 대해서 알려드리도록 하겠습니다. ZedGraph는 아래의 사이트에서 dll을 다운로드하신 후 추가하거나 Nuget 패키지로 추가하실 수 있습니다. https://sourceforge.net/projects/zedgraph/ Nuget 패키지로 추가하는 법은 더보기를 눌러서 확인해 주시면 됩니다. 더보기 [참조]에서 우클릭 버튼을 클릭합니다. [NuGet 패키지 관리]..

[💽음원 정보 바꾸기] : 앨범 커버/아트 변경 및 음원 정보 변경 프로그램

며칠 전에 좋아하는 음악을 계속해서 듣고 싶어서 앨범을 샀습니다. 이 앨범을 사용하기 위해서 CD롬도 준비를 했는데요. 앨범에서 음악을 추출하는 과정에서 문제가 발생했습니다. 그래서 이 프로젝트를 진행하게 되었는데요. 재밌게 봐주시면 감사하겠습니다! 저는 핸드폰으로 음악을 들을 때 스트리밍 사이트를 이용하지 않고 유튜브를 이용했었습니다. 유튜브를 이용할 때는 데이터와 배터리가 항상 문제였는데요. 그래서 좋아하는 음원의 앨범을 구매했습니다. 사실 요즘은 음원을 인터넷에서 구매하여 앨범을 사지 않고도 들을 수 있는데요. 저는 이 사실을 앨범을 다 사고 나서 알았습니다.😂 구매한 앨범의 음원들을 핸드폰으로도 듣기 위해서 CD에서 추출해야 했는데요. 이 작업은 Window Media Player를 이용하여 추출..

프로젝트 2021.06.30

[wpf] c# 오류 로그 텍스트 파일 만들기

프로그램을 만들다 보면 예기치 못한 오류들로 문제가 생길 수 있습니다. 개발 단계에서 이러한 오류들을 발견하면 디버깅을 통해서 수정이 가능하지만 베포 단계에서 오류가 발생한다면 이유도 모른 채 프로그램이 종료되거나 의도하지 않게 프로그램이 동작할 수 있습니다. 이러한 것들을 방지하기 위하여 오류가 발생하면 기록하는 로그 파일을 만들어보도록 하겠습니다. 텍스트 파일 형식으로 만들었습니다. c# public static void Log(string str){ // 현재 위치 경로 string currentDirectoryPath = Environment.CurrentDirectory.ToString(); // Logs 디렉토리 경로(현재 경로에 Logs라는 디렉토리 경로 합치기) string DirPath ..

[wpf] c# 코드로 폴더 선택하기 - FolderBroswerDialog와CommonOpenDialog

폴더 선택에는 2가지 방법을 사용할 수 있습니다. Form에서 존재하는 FolderBroswerDialog를 사용하거나 NuGet에서 패키지를 설치하여 CommonOpenDialog를 사용할 수 있습니다. 1. FolderBroswerDialog 1) 참조 추가 - 어셈블리 - System.Windows.Forms 추가 2) 코드 사용 c# System.Windows.Forms.FolderBrowserDialog fbd = new System.Windows.Forms.FolderBrowserDialog(); if(fbd.ShowDialog() == System.Windows.Forms.DialogResult.OK){ folder_tb.Text = fbd.SelectedPath; } 2. CommonOpe..

[wpf] c# 코드로 작업 끝내기

c# 코드로 [작업 관리자]에서 [작업 끝내기] 기능을 사용하면서 선택한 프로그램의 간단한 정보도 볼 수 있도록 만들어 보았습니다. "PROCESS"에 작업을 끝낼 프로그램을 넣으시면 됩니다. "PROCESS".CloseMainWindow(); "PROCESS".Refresh(); "PROCESS".Kill(); 자세한 설명을 보고 싶으신 분은 "더보기"를 클릭해서 봐주시길 바랍니다. 더보기 UI 부분 xaml 사용한 UI 이벤트는 다음과 같습니다. ComboBox DropDownOpened ComboBox를 클릭하여 목록이 펼쳐질 때 현재 실행 중인 프로그램들이 ComboBox의 Item이 됩니다. SelectionChanged ComboBox의 Item이 바뀔 때 새롭게 선택된 프로그램의 정보를 Te..

[wpf] c# 코드로 Style 설정하기 - 2 : 다른 Resource Dictionary 사용

다른 Resource Dictionary 안에 존재하는 다른 Stsyle을 c# 코드로 변경하는 방법입니다. string resourcePath = "/프로젝트이름;component/ResourceDictionary위치.xaml"; ResourceDictionary res = (ResourceDictionary)Application.LoadComponent(new Uri(resourcePath, UriKind.Relative)); Control.Style = (Style)res["ResourceKey"]; 예제를 따라 하시려면 더보기를 클릭하세요. 더보기 Grid 안에 Label과 Button을 한 개씩 준비합니다. xaml 2가지 Resource Dictionary를 준비합니다. ResourceDict..

[wpf] c# 코드로 Style 설정하기 - 1 : 같은 Resource Dictionary 사용

같은 Resource Dictionary 안에 존재하는 다른 Style을 c# 코드로 변경하는 방법입니다. 기본적으로 ResourceDictionary가 필요합니다. ResourceDictionary : Dictionary1.xaml 앞에서 만든 ResourceDictionary를 App.xaml에 등록합니다. App.xaml 그 후 xaml이나 c#에서 사용합니다. c# 코드에서 Application.Current 부분은 사용하지 않으셔도 상관없습니다. xaml c# private void Button_Click(object sender, RoutedEventArgs e){ Style s1 = Application.Current.FindResource("TB_Style1") as Style; Style..

[wpf] c# 코드로 Label 색 변경하기

c# 코드로 색을 변경하는 방법은 지정된 색을 이용하는 방법과 RGB 값을 이용하는 방법이있습니다. 공통 부분 xaml 1. 지정된 색 이용 c# // 글자 색 모음 Color[] color = {Colors.IndianRed, Colors.CadetBlue, Colors.BlueViolet, Colors.Black}; // 글자 색 인덱스 int index = 0; private void Button_Click(object sender, RoutedEventArgs e){ // 라벨 색 변경 L1.Foreground = new SolidColorBrush(color[index++]); // 색상 변경 if (index == color.Length){index = 0;} } 2. RGB 값 이용 RGB ..

[wpf] Button 안의 Button 클릭 이벤트

버튼 안에 버튼을 집어넣을 경우가 가끔 있습니다. 그럴 경우 다음과 같이 Button의 Content를 Grid나 StackPanel 등으로 감싼 뒤 내부에 Button을 넣어주면 됩니다. 이벤트 또한 외부 버튼과 똑같이 사용이 가능합니다. xaml c# private void Button_Click(object sender, RoutedEventArgs e){ Button b = sender as Button; if(b == Btn1){ MessageBox.Show("버튼 1 클릭"); }else if(b == Btn2){ MessageBox.Show("버튼 2 클릭"); } } 위와 같이 설정할 경우 내부 버튼의 이벤트를 동작시키면 외부 버튼의 이벤트도 같이 동작됩니다. 이럴 경우 e.Handled를..

728x90