728x90

인라인 속성을 하용하여, TextBlock에서, 해당 글자마다 다른 속성을 줄 수 있습니다.

   

<TextBlock Margin="10" TextWrapping="Wrap">
  이것은 <Span FontWeight="Bold"> 이렇게</Span> 사용을
  <Span Background="Silver" Foreground="Maroon">하면은</Span>
  됩니다. 
  <Span TextDecorations="Underline">이렇게 밑줄과</Span>
  <Span FontStyle="Italic">기울기</Span>
  와,
  <Span Foreground="Blue">
  글자 색상과 <Bold>굵기도</Bold> 나오고<Italic> 있습니다.</Italic>
  </Span>
</TextBlock>

 

TextBlock textBlock = new TextBlock();
textBlock.Inlines.Add(new System.Windows.Documents.Run("이렇게") { Foreground = Brushes.Black });
textBlock.Inlines.Add(new System.Windows.Documents.Run("코드 상에서도") { Foreground = Brushes.Red, FontWeight = FontWeights.Bold }); 
textBlock.Inlines.Add(new System.Windows.Documents.Run("할 수 있습니다.") { Foreground = Brushes.Black });
728x90

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

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

<Rectangle Height="120" Margin="20" Fill="White" RadiusY="10" RadiusX="10" >
   <Rectangle.Effect>
      <DropShadowEffect BlurRadius="20" Color="#FFDEDEDE"/>
   </Rectangle.Effect>
</Rectangle>

 

Rectangle RadiusX, RadiusY : 모서리 각 
DropShadowEffect
BlurRadius : 그림자 효과 반경
DropShadowEffect Color : 그림자 효과 색상

728x90

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

[WPF] Inlines 속성 사용하여 Control  (0) 2021.12.02
C# Task Delay 사용하여 종료  (0) 2021.11.03
C# 중복 실행 방지 방법 및 사용 이유  (0) 2021.05.31
C# Ctrl + C & V 키 사용하기  (0) 2021.04.01
C# Point 값 넣기  (0) 2021.03.29
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

직렬화 기법
- 이진 직렬화
- XML 직렬화

대용량의 파일을 읽어 올 경우 직렬화/역직렬화 하는 경우가 있다. 직렬화와 역직렬화는 무엇이고 사용하는 이유는 무엇인가?
- 직렬화
메모리를 디스크 저장이나 네트워크 통신에 사용하기 위한 형식으로 변환하는 것을 말합니다.
한국인은 한국어로 미국인은 영어로 대화한다면, 두쪽다 무슨 말인지 모를 것입니다. 그래서 만국 공통어 영어를 통하여, 서로 대화를 진행하면 서로에 대한 의사표현을 할 수 있습니다.
이처럼 한국어 내용을 영어로 변화시켜 미국인에게 내용을 전달 하는 것 입니다.
즉. object을 저장하거나, 메모리, 데이터베이스, 파일로 전송하기 위해 개체를 Byte 스트림으로 변환하는 Process 입니다.

- 역직렬화
직렬화의 반대입니다. 
디스크에 저장 한 데이터를 읽거나, 네트워크 통신으로 받은 데이터를 메모리에 쓸 수 있도록 다시 변환한다.


직렬화가 필요한 이유를 알기 위해서는 데이터들의 메모리 구조에 대해 알아야 합니다.
데이터들의 메모리 구조는 크게 2가지로 분류 됩니다.

1. 값 형식 데이터 즉. Value Type
int, float, char 등 값 형식 데이터들은 Stack에 메모리가 쌓이고 직접 접근이 가능합니다.

2. 참조 형식 데이터 즉. Reference Type
C#에서 Object 타입 또는 C++에서 포인터 변수들이 여기에 해당
해당 형식의 변수를 선언되면, Heap에 메모리가 할당 되고, Stack에서 Heap 메모리를 참조하는 구조

728x90

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

c# 따옴표 나오게 출력하는 방법  (0) 2021.07.02
WebClient VS FtpWebRequest  (0) 2021.04.22
파일 정보 불러오기  (0) 2021.03.17
Adorner ?  (0) 2021.03.08
Main 변수를 Class에서 사용 방법  (0) 2021.03.05
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

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

[WPF] 사각형 도형 모서리 둥글게  (0) 2021.11.08
C# Task Delay 사용하여 종료  (0) 2021.11.03
C# Ctrl + C & V 키 사용하기  (0) 2021.04.01
C# Point 값 넣기  (0) 2021.03.29
C# Office 문서 사용자 지정 속성 추가 및 편집  (0) 2021.03.15
728x90

WebClient와 FtpWebRequest 클래스는 비슷한 일을 합니다.

이 두개의 차이를 알아보고자 작성하게 되었습니다.

Microsoft 사이트에는

WebClient : URI로 식별되는 리소스와 데이터를 주고 받기 위한 일반적인 메서드를 제공합니다.

FtpWebRequest : FTP(파일 전송 프로토콜) 클라이언트를 구현합니다.

라고 설명 되어있으며,

WebRequest는 HttpWebRequest 및 FtpWebRequest가 상속하는 기본 클래스입니다. 

Ftp WebRequest에는 use binary, use passive와 같은 ftp 통신에만 관련된 특수 속성이 있습니다.

728x90

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

C# 직렬화에 대해 알아보자  (0) 2021.07.22
c# 따옴표 나오게 출력하는 방법  (0) 2021.07.02
파일 정보 불러오기  (0) 2021.03.17
Adorner ?  (0) 2021.03.08
Main 변수를 Class에서 사용 방법  (0) 2021.03.05
728x90

1. Ctrl + C

if (e.Key == Key.C && Keyboard.Modifiers == ModifierKeys.Control)

if (e.Key == Key.C && Keyboard.IsKeyDown(Key.LeftCtrl))

 

2. Ctrl + V

if (e.Key == Key.V && Keyboard.Modifiers == ModifierKeys.Control)

if (e.Key == Key.V && Keyboard.IsKeyDown(Key.LeftCtrl))

728x90
728x90

1. List<Point>

List<Point> list_point = new List<Point>();

list_point.Add(new Point( X축 값, Y축 값));

 

 

2. PointCollection 

PointCollection myPointCollection = new PointCollection();

Point point = new Point(count_X, count_Y);

myPointCollection.Add(point);

728x90
728x90

file = @"D:\Img.jpg"

var info = new FileInfo(file); System.Console.WriteLine("파일 사이즈: " + info.Length + " Bytes");

System.Console.WriteLine("생성 시간 : " + info.CreationTime);

System.Console.WriteLine("수정 시간 : " + info.LastWriteTime);

System.Console.WriteLine("접근 시간 : " + info.LastAccessTime);

System.Console.WriteLine("읽기전용 파일 어부 : " + info.IsReadOnly);

System.Console.WriteLine("디렉터리 이름 : " + info.DirectoryName);

System.Console.WriteLine("파일 이름 : " + info.Name);

System.Console.WriteLine("경로+파일 이름 : " + info.FullName);

System.Console.WriteLine("파일 이름 : " + info.Name);

System.Console.WriteLine("특성 : " + info.Attributes);

System.Console.WriteLine("파일 확장자 : " + info.Extension);

728x90

+ Recent posts