반응형

C# .NET 12

[C#] C# 대리자(delegate)의 발전

C# 1.0에서는 코드의 다른 위치에 정의된 메서드를 사용하여 명시적으로 초기화하는 방식으로 대리자의 인스턴스를 만들었습니다. C# 2.0에서는 대리자 호출에서 실행될 수 있는 이름 없는 인라인 문 블록을 작성하는 방법으로 무명 메서드의 개념을 소개했습니다. C# 3.0에서는 개념적으로 무명 메서드와 비슷하지만 더 간결하고 표현이 다양한 람다 식을 소개했습니다. 이러한 두 기능을 함께 익명 함수라고 합니다. 일반적으로 .NET Framework의 버전 3.5 이상을 대상으로 하는 애플리케이션은 람다식을 사용해야 합니다. 다음 예제에서는 C# 1.0에서 C# 3.0까지 대리자 만들기의 발전을 확인할 수 있습니다. class Test { delegate void TestDelegate(string s); s..

C# .NET 2022.07.03

[C#] Winform 창닫기시 트레이 아이콘으로 최소화, 창 숨기기

using System; using System.Windows.Forms; namespace TraySample { public partial class Form1 : Form { public Form1() { InitializeComponent(); this.FormClosing += Form1_FormClosing; this.notifyIcon1.DoubleClick += notifyIcon1_DoubleClick; this.ExitToolStripMenuItem.Click += ExitToolStripMenuItem_Click; } // 트레이의 종료 메뉴를 눌렀을때 void ExitToolStripMenuItem_Click(object sender, EventArgs e) { //트레이아이콘 없앰..

C# .NET 2021.10.29

[C#] 시작프로그램 등록코드

C# 컴퓨터가 시작될때 자동으로 시작하는 프로그램(시작프로그램,Startup)에 등록하는 코드 try { // 시작프로그램 등록하는 레지스트리 string runKey = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Run"; RegistryKey strUpKey = Registry.LocalMachine.OpenSubKey(runKey); if (strUpKey.GetValue("StartupNanumtip") == null) { strUpKey.Close(); strUpKey = Registry.LocalMachine.OpenSubKey(runKey, true); // 시작프로그램 등록명과 exe경로를 레지스트리에 등록 strUpKey.SetValue("Startup..

C# .NET 2021.10.28

C# Foreach Index, Value

Foreach 반복문에서 Index (반복횟수) 사용법 CASE #1. foreach(var item in somethingList) { // IndexOf 메소드를 활용하여 item의 순번을 통한 Index파악 int index = somethingList.IndexOf(item); } CASE #2. foreach (var item in testList.Select((value, index) => new { Value = value, Index = index })) { //Get the value through item.Value; string currentValue = item.Value; //Get the index through item.Index; int currentIndex = item.I..

C# .NET 2020.10.08

[C#] uint, UInt16, UInt32 and UInt64 in C#

C#에서 uint, UInt16, UInt32, UInt64 간의 차이점 uint, UInt16, UInt32 및 UInt64는 메모리에서의 용량 및 점유된 크기를 기반으로 값 범위를 갖는 부호없는 정수를 표현하는데 사용됩니다. 이러한 유형은 양수의 값으로 작동하고, 각각의 차이는 값의 범위가 다릅니다. 1) UInt16 UInt16은 16 비트(2 바이트) 부호없는 정수를 뜻합니다. UInt16은 메모리에서 16 비트(2 바이트) 공간을 차지합니다. (16 비트 컴퓨터/ 산업용 PLC 등) 2 바이트 부호없는 정수의 데이터 범위는 0 ~ 65535 입니다. [사용예] using System; using System.Text; namespace Test { class Program { static voi..

C# .NET 2020.09.12

Panel내부에서 Control 위치변경 ( Drag & Drop )

Sample로 WindowsForm에 Panel 하나와 PictureBox 3개 (Control) 를 배치하여 테스트 함. public partial class Form1 : Form { Random rnd = new Random(); public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { this.panel1.AllowDrop = true; foreach(Control c in this.panel1.Controls) { c.MouseDown += new MouseEventHandler(C_MouseDown); } this.panel1.DragOver += new DragEventHandl..

C# .NET 2019.12.11

[C#][Network][Thread] C#에서 쓰레드를 이용한 에코서버의 기본구조

// Thread Netwotk Server Exam namespace threadNetworkExam{ public partial class Form1 : Form { // TCP 소켓통신 서버구현을 위해 TCP리스너 정의/초기화 private TcpListener tcpListner = null; public Form1() { InitializeComponent(); } // Thread Method // Client 접속시 스레드가 호출하여 작업할 메소드 정의 private void AcceptClient() { while (true) { // Client 소켓통신을 위해 수신을 대기하는 TcpClient 생성 // TcpListner를 통해 생성 TcpClient tcpClient = tcpLis..

C# .NET 2019.03.18
반응형