記事のナビゲーション
- 一、はじめに
- 二、HZHControlsの紹介
- 2.1 コントロール
- 2.1.1 フォームコントロール
- 2.1.2 ボタン
- 2.1.3 タブ
- 2.1.4 ツリー
- 2.1.5 タイルリスト
- 2.1.6 ナビゲーション
- 2.1.7 水平リスト
- 2.1.8 カスタムテーブル
- 2.1.9 プログレスバー
- 2.1.10 ステップコントロール
- 2.1.11 パンくずリスト
- 2.1.12 ツールチップ
- 2.1.13 スクロールテキスト
- 2.1.14 スライダー
- 2.1.15 水波
- 2.1.16 パネル
- 2.1.17 アイコン
- 2.1.18 スクロールバー
- 2.1.19 画像サンプリング
- 2.1.20 タイムライン
- 2.1.21 トランスファーボックス
- 2.1.22 引用ブロック
- 2.1.23 フォーム検証
- 2.1.24 区切り線ラベル
- 2.2 フォーム
- 2.2.1 メッセージフォーム
- 2.2.2 複数入力フォーム
- 2.2.3 待機ウィンドウ
- 2.3 チャート
- 2.3.1 組織図
- 2.3.2 スクロールチャート
- 2.3.3 レーダーチャート
- 2.3.4 ピラミッドチャート
- 2.3.5 Live Charts
- 2.4 産業用コントロール
- 2.4.1 LEDテキスト
- 2.4.2 メーター
- 2.4.3 配管
- 2.4.4 バルブ
- 2.4.5 ブロワー
- 2.4.6 コンベアベルト
- 2.4.7 警告灯
- 2.4.8 矢印
- 2.4.9 温度計
- 2.1 コントロール
- 三、HZHControlsの入手
- 3.1 公式ヘルプドキュメント、ブログ
- 3.2 技術交流グループ
- 3.3 ソースコードの入手
- 四、おわりに
一、はじめに
編集者が以前に公開したC# WPFコントロールライブラリに関する3つの記事は好評を博し、皆様のご支援に感謝します。

記事のコメント欄で「従来のWinformコントロールライブラリを紹介してほしい」という声がありました。編集者としては少々困惑しています(男ではないですが)。編集者はWinform開発に4年以上携わっていますが、よく使うのは有償のコントロールライブラリDevExpressやTelerikなどで、カスタムコントロールライブラリはあまり使っていません。その理由は次の2点です。
- 優れたオープンソースのコントロールライブラリが非常に少ない。
- WinformのカスタムコントロールはWPFに比べてはるかに手間がかかる。
- 編集者のクライアントからのニーズが強くない。

偶然の機会に、とあるWPFグループのメンバーがWinformコントロールライブラリ「HZHControls」のGitHub(世界的な同性愛者コミュニティサイト「Gayhub」)のアドレスを投稿しました(コントロールライブラリのダウンロードはGitHubアドレスをクリック)。もちろん編集者はためらわずに開いて鑑賞しました。そしてこの記事が生まれました。
「HZHControls」GitHubリポジトリ

「HZHControls」Giteeリポジトリ

編集者が「HZHControls」コントロールライブラリをおすすめする理由は以下の通りです。
- .NET Framework 4.0 ベースで、フラットデザイン、美しい、オープンソースのC# Winformコントロールライブラリです。
- 純粋なネイティブ開発で、サードパーティのプラグインやライブラリは含まれていません。一般的なフォームやコントロール、産業用ツール、Web風コントロールを含み、このコントロールライブラリを使うことで美しいアプリケーションを迅速に構築できます。
- 美しい:コントロールUIは美しいWebコントロールをモデルにしており、作成するアプリケーションにWeb感覚とフラットデザインをもたらし、より美しくします。
- オープンソース:完全にオープンソースであり、ニーズに応じてコントロールを拡張・修正する自由が高度に確保されています。
- コントロールは有料ですか? GPL-3.0ライセンスに基づき、非商用利用は完全に無料であり、商用ライセンスも低コストです。
二、HZHControlsの紹介
2.1 コントロール
テキストボックス、ウォーターマークテキスト、数値ボックス、入力検証、フォーム検証、ドロップダウン、日付選択、スライダー、ツールチップ、パネルなど、標準的なコントロールを含みます。
2.1.1 フォームコントロール

2.1.2 ボタン


2.1.3 タブ

2.1.4 ツリー
ツリーとリストコントロールは似ており、以下はHZCコントロールライブラリのツリーコントロールです。

2.1.5 タイルリスト

2.1.6 ナビゲーション
水平および垂直のナビゲーションメニューを含みます。

HZHコントロールライブラリ ナビゲーションメニュー

HZHコントロールライブラリ 垂直ナビゲーション

2.1.7 水平リスト

2.1.8 カスタムテーブル
通常のテーブルとツリーテーブル。

HZHコントロールライブラリ カスタムテーブル

HZHコントロールライブラリ ツリーテーブル
2.1.9 プログレスバー
さまざまなスタイリッシュなプログレスバー。

2.1.10 ステップコントロール

2.1.11 パンくずリスト

2.1.12 ツールチップ

2.1.13 スクロールテキスト

2.1.14 スライダー

2.1.15 水波

2.1.16 パネル

2.1.17 アイコン
HZHControlには、AwesomeアイコンとElegantアイコンの2種類が含まれています。
HZHコントロールライブラリ Awesomeアイコン

HZHコントロールライブラリ Elegantアイコン

2.1.18 スクロールバー
リスト、テキストボックス、水平・垂直スクロールバーを含みます。

2.1.19 画像サンプリング

2.1.20 タイムライン

2.1.21 トランスファーボックス

2.1.22 引用ブロック

2.1.23 フォーム検証

2.1.24 区切り線ラベル

2.2 フォーム
フォームには、一般的なメッセージボックス、戻る機能を持つフォーム、確定・キャンセルボタン付きフォーム、マルチスレッド待機フォーム、リソース読み込みフォームなど、一般的なフォームが含まれています。以下に一部のスクリーンショットを紹介します。
2.2.1 メッセージフォーム

2.2.2 複数入力フォーム

2.2.3 待機ウィンドウ

2.3 チャート
動的アイコン、複数座標系アイコン、棒グラフ、円グラフ、折れ線グラフ、組織図など、データ表示に必要なものがすべて揃っています。
2.3.1 組織図

2.3.2 スクロールチャート

2.3.3 レーダーチャート

2.3.4 ピラミッドチャート

2.3.5 Live Charts
29種類ものLive Chartsがあります。

既存のLive Chartsデモ
以下に一部のLive Chartsを紹介します。詳細はgiteeまたはgithubからダウンロードしてください。
Basic Stacked Bar

BasicBubbles

BasicLine

Financial

FlunnelChart(ファネルチャート)

GanttChart
GanttChartはガントチャートで、Office Projectほど強力ではありませんが、Winformで実現したことは素晴らしいです。

Gauge-360

AngularGauge

GeoMapExample

DoughnutExample(ドーナツチャート)

PieChartExample(円グラフ)

2.4 産業用コントロール
配管、ファン、警告灯、バルブ、LEDテキスト、メーター、コンベアベルト、温度計、サンプリングコントロールなどを網羅しています。
2.4.1 LEDテキスト

2.4.2 メーター

2.4.3 配管

2.4.4 バルブ

2.4.5 ブロワー

2.4.6 コンベアベルト

2.4.7 警告灯

2.4.8 矢印

2.4.9 温度計

三、HZHControlsの入手
3.1 公式ヘルプドキュメント、ブログ
公式サイト: http://www.hzhcontrols.com/ 。

コントロールヘルプドキュメント: http://www.hzhcontrols.com/doc.html 。

HZHコントロールライブラリ ヘルプドキュメント
作者のブログ(はてなブログ? 原文は「博客园」): https://www.cnblogs.com/bfyx/ 。

(※「博客园」は中国のブログサービスであるため、そのまま「博客园」と表記することもありますが、一般的には「ブログ園」と訳す場合もあります。ここでは原文のまま「博客园」としましたが、日本語読者にはわかりにくい可能性があります。ただし原文のリンク先は中国語サイトのため、原文ママとするのが適切と判断します。)
3.2 技術交流グループ
作者QQ: 623128629。
QQ交流グループ: 568015492 。
3.3 ソースコードの入手
github: https://github.com/kwwwvagaa/NetWinformControl 。

gitee: https://gitee.com/kwwwvagaa/net_winform_custom_control 。

四、おわりに
オープンソースのC# Winformコントロールライブラリは本当に少なく、このライブラリは確かに優れています。Winform開発者の皆様には、参考にしたり学んだりしていただけると良いと思います。特にコントロールライブラリの作者のブログは、Winformのカスタムコントロールを学ぶのに最適な場所です。
どんなに優れたコントロールライブラリにもバグは存在します。作者がコントロールライブラリを公開するのは容易ではなく、個人の能力にも限界があります。使用中に問題が発生した場合やバグを発見した場合は、作者に連絡するか、QQ技術交流グループで質問してください。コントロールライブラリの作者も編集者も、皆様が互いに学び議論することを歓迎しています。