본문 바로가기

C#

(97)
WinForms 트레이(NotifyIcon) 정리 🖥️ WinForms 트레이(NotifyIcon) 완벽 정리Windows Forms(WinForms)로 트레이 기반 에이전트 프로그램을 만들 때 필요한 핵심 내용만 정리했습니다.폼을 띄우지 않고 백그라운드에서 실행되거나, 트레이 메뉴를 통한 제어가 가능합니다.✅ 1. 트레이 아이콘 기본 구성트레이 아이콘은 NotifyIcon 컨트롤을 사용해 구성합니다.폼이 숨겨져 있어도 트레이에 아이콘을 표시할 수 있습니다.using System;using System.Windows.Forms;namespace TrayApp{ static class Program { [STAThread] static void Main() { Application.En..
C#에서 SOAP 통신 구현하기 🧩 C#에서 SOAP 통신 구현하기 (WCF 기반)C#에서 SOAP 통신을 구현하기 위해서는 일반적으로System.ServiceModel 네임스페이스에 포함된 WCF(Windows Communication Foundation) 프레임워크를 사용합니다.WCF는 SOAP 기반의 웹 서비스 통신을 쉽게 구현할 수 있도록 도와주는 강력한 도구입니다.🔹 SOAP 클라이언트 예제1️⃣ 서비스 참조 추가Visual Studio에서 “Add Service Reference” 기능을 사용하여SOAP 웹 서비스의 WSDL을 가져옵니다.2️⃣ 클라이언트 코드 작성자동으로 생성된 프록시 클래스를 사용하여 SOAP 웹 서비스와 통신합니다.using System;using System.ServiceModel; // Servi..
SOAP 통신 SOAP (Simple Object Access Protocol)은 웹 서비스와 클라이언트 간의 메시지를 교환하는 데 사용되는 프로토콜입니다. XML 기반의 메시지 형식을 사용하여 네트워크를 통해 데이터를 송수신하며, HTTP, SMTP, TCP 등 다양한 전송 프로토콜을 사용할 수 있습니다. SOAP은 웹 서비스의 인터페이스를 정의하고 데이터 교환을 표준화하는 데 유용합니다.SOAP 통신의 기본 개념1. SOAP 메시지 구조  Envelope: SOAP 메시지의 최상위 요소로, 메시지가 SOAP 메시지임을 나타냅니다.Header: (선택적) 메시지의 메타데이터를 포함합니다. 보안, 라우팅 정보 등.Body: SOAP 메시지의 핵심 부분으로, 실제 데이터나 요청/응답 정보를 포함합니다.Fault: (선택..
메서드 숨기기 - new 키워드 사용 new 키워드를 사용하여 부모 클래스의 메서드를 숨기고, 자식 클래스에서 새로운 메서드를 정의할 수 있습니다. 이 방법은 부모 클래스의 메서드를 재정의하는 것처럼 보이지만, 실제로는 부모 클래스의 메서드를 완전히 대체하지는 않습니다.public class CustomGridView : DevExpress.XtraGrid.Views.Grid.GridView{ // new 키워드를 사용하여 GetRowCellValue 메서드를 숨김 public new object GetRowCellValue(int rowHandle, string fieldName) { // 사용자 정의 로직 추가 Console.WriteLine("Custom GetRowCellValue called..
DataTable 자식 행 유무 확인하기 1. DataSet 생성 및 DataTable 추가DataTable dt = (treeList1.DataSource as DataTable).Copy();DataSet ds = new DataSet();ds.Tables.Add(dt);2. DataRelation 설정 // KeyFieldName이 'parentFieldName'이고 ParentFieldName이 'childFieldName'인 부모-자식 관계 설정DataRelation relation = new DataRelation("ParentChildRelation", ds.Tables["MASTER"].Columns["parentFieldName"], // 부모의 KeyFieldName ds.Tables["MASTER"].Colu..
StackTrace 출력하기 static void PrintStackTrace(){ // StackTrace 생성 StackTrace stackTrace = new StackTrace(); // 스택 추적 정보를 콘솔에 출력 Console.WriteLine("StackTrace:"); foreach (var frame in stackTrace.GetFrames()) { // 메서드 정보 출력 var method = frame.GetMethod(); Console.WriteLine($"{method.DeclaringType.FullName}.{method.Name} in {frame.GetFileName()}: line {frame.GetFileLineNumber(..
[Winform] 유저 컨트롤에 속성 추가 [Category("IsNumber"), Description("숫자인지 여부")]public bool IsNumber{ get; set;}위 코드를 추가하면 컨트롤 속성에 추가되어서 편집해서 사용하면 된다. [출처]https://bravochoi.tistory.com/115
Passing Output parameters to stored procedure using dapper 쿼리CREATE PROCEDURE SP_MYTESTpROC @VAR1 VARCHAR(10), @VAR2 VARCHAR(20), @BASEID INT , @NEWID INT OUTPUTAs Begin INSERT INTO TABLE_NAME(username, firstname) select @VAR1, @VAR2 WHERE ID = @BASEID SET @NEWID = SCOPE_IDENTITY() AS INTEND C# 코드public void InsertData(){ var p = new DynamicParameters(); p.Add("VAR1", "John"); p.Add("VAR2", "McEnroe"); p.Ad..