Skip to content

Repository files navigation

CustomControlForWinForms

Windows Forms (WinForms) 向けの高度なカスタムコントロールライブラリです。 標準コントロールでは実現が難しい、業務アプリケーション特有の要件(入力制限、カスタム描画、ページング処理など)を解決するために開発されました。

🚀 主な機能と特徴

1. DataGridView の拡張 (CustomDataGridView)

  • 動的プロパティバインディング: ネストされたオブジェクトのプロパティ(例: Order.Customer.Name)をカラムに直接バインディング可能。
  • コンテキストメニュー管理: 行の削除や操作を容易にする右クリックメニューの統合。
  • 自動行高さ調整: ヘッダーの高さに合わせた行の自動調整機能。
  • Enter キーによるタブ遷移: セル編集時のユーザー体験を向上。

2. 高度な入力制御 (NumberTextBox, ValidationTextBox)

  • メッセージループのハンドリング: WndProc をオーバーライドし、貼り付け(WM_PASTE)時にもバリデーションが機能する堅牢な設計。
  • 柔軟なバリデーション: 数値、小数点、負数、英数字など、用途に応じた制約を簡単に適用。
  • プレースホルダー表示: 標準の TextBox にはないプレースホルダー機能をカスタム描画で実装。

3. UI/UX の向上

  • BorderedComboBox: フラットデザインに馴染む、境界線の色をカスタマイズ可能なコンボボックス。
  • Paging ユーザーコントロール: 大量データを扱う際に必須となるページング機能をパッケージ化。現在のページ数、総件数、表示範囲の自動計算に対応。

🛠 技術スタック

  • Language: C#
  • Framework: .NET Framework 4.8
  • Core Technologies: Win32 API (Message Loop), GDI+, Reflection

📂 プロジェクト構成

  • CustomControlForWinForms: コントロールライブラリ本体(DLL)
  • CustomControlDemo (計画中): 各コントロールの使用例を示すデモアプリケーション

📝 設計思想

業務アプリケーションにおいて「入力の堅牢性」と「直感的な操作性」は極めて重要です。このライブラリは、WinForms の内部動作(メッセージ処理や描画プロセス)を深く理解することで、標準コントロールの制限を安全に拡張することを目指して設計されています。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages