728x90

CancellationTokenSource를 사용하면 됩니다.

728x90

'C# > WPF' 카테고리의 다른 글

[WPF] Inlines 속성 사용하여 Control  (0) 2021.12.02
[WPF] 사각형 도형 모서리 둥글게  (0) 2021.11.08
C# 중복 실행 방지 방법 및 사용 이유  (0) 2021.05.31
C# Ctrl + C & V 키 사용하기  (0) 2021.04.01
C# Point 값 넣기  (0) 2021.03.29
728x90


사용 예시

결과

 

728x90

'C#' 카테고리의 다른 글

C# 직렬화에 대해 알아보자  (0) 2021.07.22
WebClient VS FtpWebRequest  (0) 2021.04.22
파일 정보 불러오기  (0) 2021.03.17
Adorner ?  (0) 2021.03.08
Main 변수를 Class에서 사용 방법  (0) 2021.03.05
728x90

 

 

 

728x90
728x90

Directory.GetFiles()

 - 지정된 조건을 충족하는 파일 이름을 반환합니다


GetFiles(string)
 지정된 디렉터리 있는 파일의 경로를 반환

GetFiles(string, string)

 지정된 디렉터리에서 지정된 검색 패턴과 일치하는 파일 경로를 반환

GetFiles(sting, string, EnumerationOptions)

 지정된 디렉터리에서 지정된 검색 패턴 및 열거형 옵션과 일치하는 파일 경로를 반환

GetFiles(String, String, SearchOption)

 하위 디렉터리를 검색할지를 나타내는 값을 사용하여 지정된 디렉터리에서 지정된 검색 패턴과 일치하는 파일 경로을 반환


사용 방법

string path = @"D:\";

var excludedExtensions = new List<string>(new[] { ".txt", ".a" });

var file_Files = Directory.GetFiles(
path , "*.*").Where(file => !excludedExtensions.Any<string>((extension) => file.EndsWith(extension, StringComparison.CurrentCultureIgnoreCase))).ToList();


foreach(string list_file in file_Files)
{
        System.IO.File.Delete(list_file);
}










참조
https://stackoverflow.com/questions/38506928/using-directory-getfiles-to-select-all-the-files-but-a-certain-extension/38507353#38507353

https://docs.microsoft.com/ko-kr/dotnet/api/system.io.directory.getfiles?view=net-5.0

728x90
728x90

Wheel Event를 주기 위해서 사용하는 이벤트에서 Preview 있고 없고의 차이를 간략하게 설명하고자 합니다.

라우팅 이벤트를 알고 있다면 Skip>>하여도 됩니다.


PreviewMouseWheel

터널링 이벤트(Tunneling Event)라고 합니다.

터널링 이벤트란?
- 자식 엘리먼트로 이벤트 전달


MouseWheel

버블링 이벤트(Bubbleing Event)라고 합니다.

버블링 이벤트란?
- 현재 엘리먼트에서 상위 객체로 이벤트가 전달


버블링 이벤트와 터널링 이벤트는 짝을 이루며, 사용자가  MouseWheel을 움직여 이벤트가 발생 하였다면, PreviewMouseWheel 이벤트가 먼저 발생하게 되고, MouseWheel이 발생하게 됩니다.

728x90
728x90

네모 상자를 XAML에서 직접적으로 만들어주는게 아닌 코딩을 통하여 필요 수량에 따라 만들 수 있도록 하여 주겠습니다.



Grid grid_panel = new Grid(); //사각형을 감싸줄 Panel 생성

Rectangle rectangle = new Rectangle();//사각형 생성

rectangle.Width = 200;

rectangle.Height = 100;

rectangle.Stroke = Brushes.Black;


TextBlock textBlock = new TextBlock();//Text 생성

textBlock.Text = "TEXT_TEST";

textBlock.HorizontalAlignment = System.Windows.HorizontalAlignment.Center;

textBlock.VerticalAlignment = System.Windows.VerticalAlignment.Center;


grid_panel.Children.Add(rectangle);//Panel에 사각형 추가

grid_panel.Children.Add(textBlock);//Panel에 Text 추가


Canvas.SetLeft(grid_panel, 100);//Panel 위치 조정

Canvas.SetTop(grid_panel, 100);


this.panel_1.Children.Add(grid_panel);//Panel 등록




while문 3번 돌렸기 때문에 네모 상자가 3개 나왔다.

728x90
728x90

이번에는 데이터 형 변환 방법에 대해 설명드리겠습니다.


1. string to char

char[] Ch_ID = Chd_ID.ToCharArray();

만약 Textbox에 있는 문자열을 char형으로 변환 하려면 for 반복문을 사용하면 됩니다.


2. char to string

배열일 경우

string Ch_ID = new string(Chh_ID);


한개의 캐릭터 문자 일 경우

string Ch_ID = Chh_ID[1].ToString();

728x90
728x90

빌드 중 함수를 평가 할 때 안전하지 않은 중단을 방지하려면 실행이 허용 된 모든 스레드라는 팝업창이 발생 하였습니다.

이 문제를 해결 하기 위해서, 도구 - 옵션 - 디버깅 순으로 이동합니다.

관리되는 호환성 모드 사용을 체크힙니다.


728x90
728x90

이미지 등록 방법에 대해 알아 보겠습니다.

간단하니 30초만 투자하세요.


이미지 등록을 하시려면 Properties -> Resources.resx 더블클릭합니다.


이미지를 넣기 위해 이미지를 선택 한 후 폴더에 있는 이미지 파일을 끌어와서 올려주시면 됩니다.


끌어온 이미지는 다음과 같이 Resources 폴더가 생성되고, 그안에 이미지 파일이 들어있습니다.


이 이미지 파일을 사용하려면 <Image Source="/Resources/NEO.PNG"/> 라고 작성을 해주시면 됩니다.


주의점은 이렇게만 하고, 밑 부분을 안하시고 넘어가면 지금은 이미지가 화면에 보이지만 실제 실행화면에서는
이미지가 안보이기 때문에, 꼭 밑에 부분도 적용 하시기 바랍니다.


이미지 파일 선택 후 속성 버튼을 눌러보면 빌드 작업이라는 것을 볼 수 있습니다.

빌드 작업이 없음으로 되어있기 때문에, 이미지를 보실 수 없습니다.


빌드 작업을 선택하여, Resource를 선택합니다.


그러면, 실행 되었을 경우에도 이미지 파일을 보실수 있습니다.

728x90
728x90

소개
.NET Framework와 .NET Core에서 무엇을 선택 해야만 하는가?

 

 

.NET Framework 이점
· 아무것도 모르는 상태에서, 빠르게 진행이 필요 할 경우, .NET Framework를 선택하세요.
 - .NET Core의 경우는 학습이 조금 더 어렵습니다.
· .NET Framework는 현재 버전인 4.8이 마지막 버전으로 간주됩니다.
 - 지속적인 업그레이드와 변경을 하고 싶지 않을 경우 선택하세요.
· 일하는데 안정적인 환경을 줍니다.

.NET Core 장점
· 새로운 프로그램을 구축해야 한다면 .NET Framework보다는 .NET Core이 좋습니다.
 - 마이크로 소프트사에서는 .NET Core v3.0을 발표했습니다.
  - 미래의 경우 .NET Core가 될 수 있습니다.
· .NET Core 3.0 발표
 - WPF에서 Windows Forms을 지원합니다.
   즉. UWP/WPF 및 Windows Forms 간의 교차 개발도 지원합니다.
   이것은 최신 UWP 인터페이스를 Windows Forms 및 WPF로 가져올 수 있는 유연성을 제공합니다. 

 

.NET 생태계
.Net Core
· 윈도우, 리눅스, macOS 사용 가능합니다.
 - 모든 운영 체제에 대한 응용 프로그램을 구축하기 위한 새로운 오픈 소스 및 크로스 플랫폼 프레임 워크 입니다.
 - UWP 및 ASP.NET Core 만 지원합니다.
 - ASP.NET Core는 브라우저 기반 웹 응용 프로그램을 작성하는 데 사용합니다.
· 경량화로 인해 매우 가볍다
· Docker 사용 가능

.Net Framework
· 윈도우 및 웹 응용 프로그램을 사용 가능합니다.
 -  Windows Forms, WPF/UWP를 사용하여 Windows 응용 프로그램을 빌드 할 수 있습니다. 
  - ASP.NET MVC는 웹 응용 프로그램 작성에 사용합니다.
· 다양한 기능과 확장성을 지원

 

 


ps. 인용 https://www.c-sharpcorner.com/article/difference-between-net-framework-and-net-core/

728x90

+ Recent posts