본문 바로가기

전체 글

(267)
[WPF] 자석 기능(Sticky) 윈도우 12345678910111213141516171819202122232425262728293031323334353637383940414243444546using System;using System.Windows;using System.Windows.Forms;using System.Windows.Input; namespace NPMon_WPF.Widget{ /// /// WidgetStatus.xaml에 대한 상호 작용 논리 /// public partial class WidgetStatus : Window { public WidgetStatus() { InitializeComponent(); this.MouseLeftButtonUp += OnMouseLeftButtonUp; } private void W..
ComboBox를 클릭하면 Telerik WPF Chart와 모든 UI 컨트롤이 느려질 경우 ComboBox를 클릭하면 Telerik WPF Chart와 모든 UI 컨트롤이 느려는 경우가 있다. App.xaml.cs 파일에 아래 코드 한줄만 넣으면 해결된다. 1 2 3 4 5 6 7 8 9 10 using Telerik.Windows.Automation.Peers; public partial class App : Application { public App() { AutomationManager.AutomationMode = AutomationMode.Disabled; this.InitializeComponent(); } } Colored by Color Scripter cs 관련 이슈 : RadCartesianChart Performance goes down when clicking combo..
C# WPF DataGrid에 UserControl을 넣고 UserControl에서 원하는 동작을 하기 XAML 1 2 3 4 5 6 7 8 9 10 11 Colored by Color Scripter cs Code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 using System.Windows; using System.Windows.Controls; namespace TestProject.Controls { public partial class UserControl1: UserControl { public UserControl1() { InitializeComponent(); this.DataContextChanged += UserControl1_DataContextChanged; } private void UserControl1_DataContext..
C# Find vs FirstOrDefault vs Where + FirstOrDefault vs for loop 대용량 자료구조를 검색할 일이 생기다보면 종종사용하게되는 함수가 Find, FirstOrDefault 인데.. 이것이들 내부적으로는 다르게 돌아가서 속도 차이가 난다고한다. 실제로 얼마나 차이가 나는지 간단한 코드로 테스트해보았다. 테스트 환경 CPU : Intel i5-9600K 3.7GHz 운영체제 : 윈도우 10 64비트 컴파일러 : Visual Studio 2019 Community 검색 개수 : 30,000,000 (3천만개) 검색 조건 : 제일 마지막 데이터 검색 첫번째 케이스 : Find 10회 결과(ms) RunTime1 : 438 ms RunTime1 : 438 ms RunTime1 : 424 ms RunTime1 : 434 ms RunTime1 : 427 ms RunTime1 : 431..
WPF UI 사용법(너무 느린 WPF 프로그램 개선방안) WPF로 프로그래밍하다보면 너무 느려서(저사양 PC에서 주로 발견) 못쓰겠다는 사태가 나타났습니다. 이리저리 찾아보다가 필요한 사항을 정리해 보았습니다. 1. UI 스레드 다른 스레드에서 UI 요소(Textbox, Lable 등)의 정보를 갱신하려면 아래와 같은 오류가 발생합니다. 다른 스레드가 이 개체를 소유하고 있어 호출한 스레드가 해당 개체에 액세스할 수 없습니다. 이 상황에서 많이 사용하는 방식이 Dispatcher.Invoke 입니다. 간단한게 사용하기 쉬워서 자주 쓰다보면 프로그램이 느려지거나 어느 순간 먹통이 되는 사태가 발생합니다. MSDN에서는 이렇게 설명합니다. Dispatcher.Invoke 는 동기로 실행되기 때문에 요청을 처리할 때까지 다른 동작이 차단됩니다. 대신 Dispatch..
PSB(Photo Synthetic Bacteria) 사용법 및 효과 물생활을 하다보면 소중한 애어들이 아픈 경우가 많습니다. 대부분이 수질 악화에 의해 발생하는 질병들이 대부분입니다. 하지만 일반 가정에서 여과기 만으로 수질을 관리하기가 상당히 어려운 부분입니다. 이에 많은 수질관리 약품들이 있지만, 그렇다할 효과가 없는게 안타까운 사정입니다. 물생활을 취미로만 정보 수집하기에 한계가 있기 때문에 정확한 정보 부족으로 많은 분들이 애어를 용궁으로 보내고 있습니다. 다행히도 양식장에서 사용해오고 입증된 수질 관리약품을 확인하게 되었습니다. PSB(Photo Synthetic Bacteria) 광합성 세균이라 불리는 PSB는 자연계에 널리 분포하며, 동식물의 생태 연쇄에서 중요한 역할을 하고 있는 수권, 토양 미생물의 일종으로 태양에너지를 균체가 보유하고 있는 박테리오클로로..
리니지M 혈마크 종류(2018년 9월 11일 기준) 리니지M 혈마크 종류(2018년 9월 11일 기준) 텍스트 문장 혈마크
픽셀 서치 프로그램(Simple Pixel Search) ※ 본 프로그램은 MS VisualStudio 2015, .NET4 기반에서 만들어졌습니다. 픽셀 서치 프로그램을 간단히 소개합니다. 윈도우 화면에 보이는 일부 영역의 픽셀(Pixel)을 추출하여 빨간 색상의 비율을 퍼센트(%)로 표시해줍니다. 설정한 퍼센트(기본값 30%) 이상이 검색되면 설정한 지연 시간(기본값 2초) 이후에 설정한 영역(X, Y)에 왼쪽 마우스를 클릭하는 프로그램입니다. 프로그램을 화면을 소개합니다. 프로그램을 시작하면 아래와 같이 작은 창이 표시됩니다. 설정 '>' 버튼을 누르면 아래 그림처럼 여러가지 옵션을 설정할 수 있는 화면이 나타납니다. 각 항목에 대한 설명은 다음과 같습니다. 체크(ms) : 추출영역에 대한 픽셀 검색을 하는 주기(ms)를 나타냅니다. 클릭 지연(ms) :..