【C#】Windows Forms用コントロール v5.5.0 を公開

C#
この記事は約6分で読めます。

Windows Forms 用コントロール(OTZControls)の v5.5.0 を公開しました。

ダークモードイメージ

こんな感じのフォームとコントロールになります。タイトルバーを非表示にして独自に実装しています。タイトルバーを 自作しているので、ボタンの追加が簡単にできます。

Win32 UI Gallery(カスタム) タブ の トグルボタンタブオンリーコントロールスクロールバースプリッターは自作しています。

v5.5.0の更新内容

  • チェックボックスのフォーカス線を描画するようにした
  • タブオンリーコントロールのタブが操作パネルと重ならないように修正した
  • オーバーフローボタンに表示されるアイコンの背景色がグレーになる不具合を修正した
  • タイトルバーのボタンに表示されるツールチップに標準に変更した
  • タイトルバーのテキストを真ん中に表示する場合はできる限り真ん中に表示するようにした
  • フォントアイコンを Windows 11 に対応した
  • タイトルバーのボタンも背景画像を描画するようにした
  • Windows XP テーマのアイコン周りの描画を見直した
  • ダークテーマの矢印の色をメニューの文字色と同じにした
  • トラックバーにカスタムドローを追加した

v5.4.4の更新内容

  • 最大化ボタンが非表示の状態でも最大化できる問題を修正した
  • ウィンドウスタイルが None の場合の処理を見直した
  • 標準トラックバーコントロールを追加した
  • スライダーコントロールの縦バージョンを追加した
  • 公開ファイル名を OTZControls に変更した
  • その他っ軽微な修正

v5.4.3の更新内容

  • スライダーコントロールを追加した
  • タブオンリーコントロールの DPI 対応を見直した
  • カスタムタイトルバーの場合のウィンドウの枠とエッジ処理を見直した
  • その他軽微な修正

v5.4.2の更新内容

v5.4.0で追加した Window XP テーマを画像ではなく描画するようにしました。高DPIにも対応しています。

  • カラーコンボボックスを色合いでソートするようにした
  • Windows XP テーマのタイトルバーのボタンを画像から描画するようにした
  • タブオンリーコントロールを高DPIに対応した
  • 標準タイトルバー以外のテーマの場合にウィンドウの影が消える問題を修正した
  • 名前をトグルボタンをトグルスイッチに変更した(WinUI3 にあわせた)
  • トグルスイッチに無効スタイルを追加した
  • その他軽微な修正

v5.4.1の更新内容

主にv5.4.0 の不具合対応です。

  • タブページだけコンテキストメニューを表示するようにした
  • Windows XPテーマの最大化と元に戻すアイコンが逆になっていたのを修正した
  • その他軽微な修正

v5.4.0の更新内容

Windows XP のテーマを追加しました。懐かしいですね。ぜひぜひ試してみてください。

  • Windows XP のテーマを追加した
  • タイトルバーのタイトルを中央に表示できるようにした
  • タイトルバーのアイコンの背景が透過しないので背景色を透明に変更した
  • テキストボックスコントロールを追加した
  • 従来のテキストボックはマルチラインテキストボックスコントロールに変更した
  • オンリータブコントロールのタブ一覧の表示位置をマルチモニターを考慮した位置に表示するようにした
  • スプリッターコントロールを追加した
  • サンプルアプリを単一ファイルのビルドにした
  • その他軽微な修正

v5.3.9の更新内容

下記不具合対応になります。全然気付きませんでした。ご指摘ありがとうございました。

  • OTZForm の MinimizeBox と MaximizeBox が正常に機能しない不具合を修正した

  フォーラム OTZForm.MinimizeBox & MaximizeBoxが正常に機能していない

  • ターゲット OS バージョンを Windows 10 にした
  • その他軽微な修正

v5.3.8の更新内容

標準タブコントロールのタブを非表示にできるようになりました。標準タブコントロールの ShowTab プロパティを false にすると非表示にできます。タブを非表示にすることで、複数のページを切り替えできるようなパネルコントロールとして利用できるようになります。

こんな感じで左のメニューを選択すると該当するタブページへ切り替えるような使い方ができます。自作テキストエディタのオプション画面で利用しています。便利ですね。

  • タイトルバーのタイトルを変更しても変更されない問題を修正した
  • タイトルバーのタイトルとボタンのフォントサイズを DPI 変更時に再設定するようにした
  • タブコントロールのタブを非表示にするプロパティを追加した
  • ライト(.NET) テーマのタイトルバーの背景色を白にした
  • その他軽微な修正

v5.3.7の更新内容

従来はフォームのエッジを有効にした場合、ウィンドウの枠線が描画されませんでしたがこれを描画するようにしました。ただし、動作環境が Windows 11 の場合のみです。

  • Windows 11 の場合に標準のライトテーマに反映できない問題を修正した
  • フォームのエッジを有効時にウィンドウの枠線を描画するようにした(Windows 11の場合のみ)
  • 更新履歴をマークダウン形式に変更した
  • その他軽微な修正

v5.3.6の更新内容

スクロールバーの イベントで newValue の値が最大値を超える不具合を修正しました。

v5.3.5の更新内容

完全自作スクロールバー(OTZScrollBar)とは別に標準スクロールバー(OTZHScrollBar、OTZVScrollBar)をダークモードに対応しました。

v5.3.4の更新内容

通常非クライアント領域を削除するとウィンドウのエッジ部分も削除されてしまいますが、エッジ部分を通常ウィンドウのようにエッジを利用できるようにしました。サンプルプラグラムではメニューの その他フォームのエッジを有効にする でエッジを有効にできます。

ソースコードで有効にする場合は UseEdge プロパティを true にしてください。ただし、エッジは標準タイトルバーのライト(Windows)とダーク(Windows)テーマでは無効です。また、エッジを利用するとハイコントラストのような黄色の枠線の描画は無くなります。

v5.3.3の更新内容

  • フォーム上のコントロールにフォームのテーマを適用できるようにした

AutoUpdateChildControlTheme プロパティに true を設定するとフォームテーマが変更されると自動でコントロールのテーマも変更されるようにしました。

AutoUpdateChildControlTheme プロパティが false の場合にコントロールのテーマを更新する場合は UpdateChildControlTheme メソッドを呼び出すとフォームに適用したテーマをフォーム上のコントロールに適用します。

  • カラーコンボボックスにシステムカラーとカラーコードでソートする機能を追加しました。

ダウンロード

ダウンロードはこちら。動作には .NET 6.0 が必要です。API リファレンスはこちら

おわりに

ダークモードフォームのバグやご要望などはフォーラムからお願いいたします。C#最強で唯一無二を目指しています。

コメント

タイトルとURLをコピーしました