C#/WinForm

C#/WinForm

C# - WinForm - Tabless TabControl (using TCM_ADJUSTRECT)

1. Introduction TabControl은 탭으로 구성된 패널 기능을 제공한다. 간혹 탭페이지를 사용하면서 탭은 필요가 없는 경우가 발생하는데, Win32의 TCM_ADJUSTRECT 메시지를 통해 탭을 제거할 수 있다. Microsoft 문서에서는 TCM_ADJUSTRECT에 대해 다음과 같이 소개한다.창 사각형이 지정된 탭 컨트롤의 표시 영역을 계산하거나 지정된 표시 영역에 해당하는 창 사각형을 계산합니다. 이 메시지를 명시적으로 보내거나 TabCtrl_AdjustRect 매크로를 사용하여 보낼 수 있습니다. 2. Tabless TabControl 탭을 제거하기 위해 WndProc(ref Message)를 오버라이드 한다. public class TablessTabControl : TabCon..

C#/WinForm

C# - WinForm - RichTextBox data binding

Introduction Control의 data binding을 위해서는 다음 방법 중 하나가 필요하다. INotifyPropertyChanged : XAML 바인딩을 위해 사용하는 것과 동일하다. 바인딩 형식의 프로퍼티 변경 이벤트 구현 여기서는 INotifyPropertyChanged 인터페이스를 통한 바인딩 방법을 알아본다. Example using System.ComponentModel; using System.Runtime.CompilerServices; namespace RichTextBoxDataBinding { public partial class Form1 : Form, INotifyPropertyChanged { // INotifyPropertyChanged 구현 public event..

C#/WinForm

C# - WinForm - PictureBox data binding

Introduction Control의 data binding을 위해서는 다음 방법 중 하나가 필요하다. INotifyPropertyChanged : XAML 바인딩을 위해 사용하는 것과 동일하다. 바인딩 형식의 프로퍼티 변경 이벤트 구현 여기서는 INotifyPropertyChanged 인터페이스를 통한 바인딩 방법을 알아본다. Example using System.ComponentModel; using System.Runtime.CompilerServices; namespace PictureBoxDataBinding { public partial class Form1 : Form, INotifyPropertyChanged { // INotifyPropertyChanged 구현 public event ..

C#/WinForm

C# - WinForm - MaskedTextBox data binding

Introduction Control의 data binding을 위해서는 다음 방법 중 하나가 필요하다. INotifyPropertyChanged : XAML 바인딩을 위해 사용하는 것과 동일하다. 바인딩 형식의 프로퍼티 변경 이벤트 구현 여기서는 INotifyPropertyChanged 인터페이스를 통한 바인딩 방법을 알아본다. Example using System.ComponentModel; using System.Runtime.CompilerServices; namespace MaskedTextBoxDataBinding { public partial class Form1 : Form, INotifyPropertyChanged { // INotifyPropertyChanged 구현 public eve..

C#/WinForm

C# - WinForm - DataGridView data binding

Introduction Control의 data binding을 위해서는 다음 방법 중 하나가 필요하다. INotifyPropertyChanged : XAML 바인딩을 위해 사용하는 것과 동일하다. 바인딩 형식의 프로퍼티 변경 이벤트 구현 여기서는 INotifyPropertyChanged 인터페이스를 통한 바인딩 방법을 알아본다. Example public class Account(int id, string name) : INotifyPropertyChanged { // INotifyPropertyChanged 구현 public event PropertyChangedEventHandler? PropertyChanged; private int _id = id; public int ID { get => _i..

C#/WinForm

C# - WinForm - PropertyGrid data binding

Introduction Control의 data binding을 위해서는 다음 방법 중 하나가 필요하다. INotifyPropertyChanged : XAML 바인딩을 위해 사용하는 것과 동일하다. 바인딩 형식의 프로퍼티 변경 이벤트 구현 여기서는 INotifyPropertyChanged 인터페이스를 통한 바인딩 방법을 알아본다. Example public class Account(int id, string name) : INotifyPropertyChanged { // INotifyPropertyChanged 구현 public event PropertyChangedEventHandler? PropertyChanged; private int _id = id; public int ID { get => _i..

C#/WinForm

C# - WinForm - ListBox data binding

Introduction Control의 data binding을 위해서는 다음 방법 중 하나가 필요하다. INotifyPropertyChanged : XAML 바인딩을 위해 사용하는 것과 동일하다. 바인딩 형식의 프로퍼티 변경 이벤트 구현 여기서는 INotifyPropertyChanged 인터페이스를 통한 바인딩 방법을 알아본다. Example public class Account(int id, string name) : INotifyPropertyChanged { // INotifyPropertyChanged 구현 public event PropertyChangedEventHandler? PropertyChanged; private int _id = id; public int ID { get => _i..

C#/WinForm

C# - WinForm - ComboBox data binding

Introduction Control의 data binding을 위해서는 다음 방법 중 하나가 필요하다. INotifyPropertyChanged : XAML 바인딩을 위해 사용하는 것과 동일하다. 바인딩 형식의 프로퍼티 변경 이벤트 구현 여기서는 INotifyPropertyChanged 인터페이스를 통한 바인딩 방법을 알아본다. Example public class Account(int id, string name) : INotifyPropertyChanged { // INotifyPropertyChanged 구현 public event PropertyChangedEventHandler? PropertyChanged; private int _id = id; public int ID { get => _i..

C#/WinForm

C# - WinForm - MonthCalendar data binding

Introduction Control의 data binding을 위해서는 다음 방법 중 하나가 필요하다. INotifyPropertyChanged : XAML 바인딩을 위해 사용하는 것과 동일하다. 바인딩 형식의 프로퍼티 변경 이벤트 구현 여기서는 INotifyPropertyChanged 인터페이스를 통한 바인딩 방법을 알아본다. 아래는 SelectionRange, SelectionStart, SelectionEnd 프로퍼티를 사용하는 두 가지 예시를 보여준다. 첫번째 예시가 조금 더 나은 것 같지만, Start, End를 따로 바인딩 하는 경우에는 그리 매끄럽지 않게 된다. (SelectionRange 클래스가 sealed이고 INotifyPropertyChanged가 구현되어 있지 않다) Exampl..

C#/WinForm

C# - WinForm - DateTimePicker data binding

Introduction Control의 data binding을 위해서는 다음 방법 중 하나가 필요하다. INotifyPropertyChanged : XAML 바인딩을 위해 사용하는 것과 동일하다. 바인딩 형식의 프로퍼티 변경 이벤트 구현 여기서는 INotifyPropertyChanged 인터페이스를 통한 바인딩 방법을 알아본다. Example using System.ComponentModel; using System.Runtime.CompilerServices; namespace DateTimePickerDataBinding { public partial class Form1 : Form, INotifyPropertyChanged { // INotifyPropertyChanged 구현 public ev..

C#/WinForm

C# - WinForm - DomainUpDown data binding

Introduction Control의 data binding을 위해서는 다음 방법 중 하나가 필요하다. INotifyPropertyChanged : XAML 바인딩을 위해 사용하는 것과 동일하다. 바인딩 형식의 프로퍼티 변경 이벤트 구현 여기서는 INotifyPropertyChanged 인터페이스를 통한 바인딩 방법을 알아본다. Example using System.ComponentModel; using System.Runtime.CompilerServices; namespace DomainUpDownDataBinding { public partial class Form1 : Form, INotifyPropertyChanged { // INotifyPropertyChanged 구현 public even..

C#/WinForm

C# - WinForm - Label data binding

Introduction Control의 data binding을 위해서는 다음 방법 중 하나가 필요하다. INotifyPropertyChanged : XAML 바인딩을 위해 사용하는 것과 동일하다. 바인딩 형식의 프로퍼티 변경 이벤트 구현 여기서는 INotifyPropertyChanged 인터페이스를 통한 바인딩 방법을 알아본다. Example using System.ComponentModel; using System.Runtime.CompilerServices; namespace LabelDataBinding { public partial class Form1 : Form, INotifyPropertyChanged { // INotifyPropertyChanged 구현 public event Prope..

Peponi_
'C#/WinForm' 카테고리의 글 목록