c# プログラミング

【C#】GroupBox枠線の色を変更する|枠線を非表示にする方法

  • GroupBoxの枠線の色を変更したい
  • GroupBoxの枠線を非表示にしたい

って結構やりたい場面は多いと思います。

本記事ではこの2つの方法を紹介します。


【残念】GroupBoxの枠線の色・枠線非表示はプロパティからは変更できない

まず、まっさきにプロパティを見に行くと思います。

でも残念ながら、プロパティには枠線の色を変更する項目は無いんです…。

じゃあどうするの??

という訳で、次項で紹介していきます。

【自作】GroupBoxのユーザーコントローラを作成する

できないなら、自分でコントローラを作っちゃおう!という訳です。

少し面倒ではありませんが、標準のコントローラーでできないなら仕方ありません。

最終的には、こんな感じでGroupBoxの枠線の色を変更することができます!もちろん枠線を非表示にすることもできます!

ユーザーコントロールの作成方法

ユーザーコントロールって何?という方もいるかもしれませんね。

標準のコントローラの機能をちょっと拡張して自分好みのコントロールを作成する!というような感じです。

今回の場合だと標準のGroupBoxをベースに、一部機能を追加(枠線の色を変更できる機能を追加)して新しいコントロールを作る!というわけです。

 

まずは、ソリューションエクスプローラーでプロジェクトを選択して右クリック→新しい項目を追加します。

ユーザーコントロールを選択して、ファイルを作成します。

そしたら、追加したユーザコントロールファイルのソースコードを表示します。

ソースコードは以下の通り実装します。

※4行目のnamespaceは自分の環境に合わせてください。

こちらのstackoverflowの記事[icon name="external-link" class="" unprefixed_class=""]を参考にさせて頂きました。

これにより、BorderColorというプロパティを持った、新しいGroupBoxユーザコントロールが作成できました!

ユーザーコントロールを画面に配置して使ってみる!

ツールボックス(配置したいコントロールを選択するリスト)から、先ほど作成した新しいGroupBoxを選択します。

正しくユーザーコントロールが作成できていると、以下のようにユーザーコントロールが追加されます。これを選びます。

その後は、通常のボタンなどのコントロールと同様に画面に配置します。

※左側が通常のGroupBox、右側が作成したGroupBox

追加したGroupBoxのプロパティを見てみると、あったあった!「BorderColor」の項目が!

ここで希望する色に変更すればOKです!

※ここでは「OrangeRed」を選択しています。

もし枠線を非表示にさせたい、という場合はBorderColorで「Transparent」を選択してあげます。

すると、以下の右側のように枠線が非表示になります!

まとめ

  • GroupBoxの枠線の色変更・枠線非表示はプロパティからはできない!
  • 枠線の色変更・枠線非表示にしたい場合はユーザーコントロールを作る!

\この記事はどうでしたか?/

-c#, プログラミング

© 2021 ジョブログLiFE