【VB.Net】iniファイルを使って背景色を変更してみた

どうも!リョクちゃです。

長らく日が空いてしまいましたがボチボチと更新です。

今日は、iniファイルを使ってフォームの背景色を変更する方法を紹介します。

なんでこんな記事を書くかというと……

フォームの背景色を、例えばOKの場合は緑色、NGの場合は赤色、

どちらでもない場合は黄色といったように状況によって変更したい場合や、

アプリケーションの実行中に背景色を変更してしっくりきた時に、

iniファイルへ書き込んでおきたい場合に思い付きでコードを書いて

運用したら便利だったので。(個人差があるかもしれません。)

iniファイルについては、以下の記事たちをご覧ください。

iniファイルと呼ばれる設定ファイルについてVB.Netで読み取る方法を例を交えて紹介しています。読み込む前にiniファイルの作成から細かくわけて紹介しているので、全体をざっくりと知ってみたい方や読み込むとこだけ知りたい方どちらでもOKです。アプリケーションを作るうえで必要なスキルにもなりうるのでこれを機会に!
iniファイルという設定ファイルについて、今回は書き込む方法を例を交えて紹介しています。アプリケーション実行中にiniファイルへ書き込みを行い設定を変更したい場合などに使えるので覚えていただけたらなと思います。

ちなみに前回はこちら

約数を見つける関数を作成し、与えられた数字の約数を見つけるWindowsアプリを作成してみたので、ざっくりと紹介しています。初心に戻って関数の作成方法を思い出しながら書いています。



フォームの背景色を変更

まず、フォームの背景色を変更するには、

Me.BackColor= Color.FromArgb(赤色, 緑色, 青色)

※ARGBとは、アルファ係数(0~255)を使用した、赤、緑、青の各要素を定義した値になります。

それぞれ、Rを赤Gを緑Bを青とし、各色を”要素”と呼びます。

たとえば、全ての要素が0であれば、背景の色は黒色になります。

一方で、全ての要素が255であれば、背景の色は白色になります。

ちなみに全ての要素を128にすると、背景色は灰色になります。

このようにして、0~255の各要素の値を調整することで背景色を変更することができます。

今回は、0~255の値を実際に調整するアプリを作り、しっくりくる色を見つけ、

iniファイルへ書き込むことを目的とします。

準備編

VisualStudio2019を使って、Windowsフォームアプリケーションを作成していきます。

最初の手順については、下記記事をご参照ください。

VisualStudioを使ってWindowsアプリケーションを開発していく流れを紹介します。 以前に、簡単にざっくりと教える機会があった...

スポンサーリンク




フォームの作成

以下のようなフォームを作成します。

①~⑨のコントロールについては以下の表のとおりです。

Noコントロール名前
1LabellbRed
2LabellbGreen
3LabellbBlue
4TextBoxtxtRed
5TextBoxtxtGreen
6TextBoxtxtBlue
7ButtonbtnRead
8ButtonbtnChange
9ButtonbtnWrite

各コントロールのフォントは、メイリオの18ptを設定しています。

実行環境

筆者の実行環境は、

  • VisualStudio2019
  • Windows 10 64bit
  • .Net Framework 4.5.1

になります。

※ Windows7 8 8.1でも動作はできますが、画面デザインの表示が変わるかもしれません。

アプリケーションの目的

作成しようとしているアプリにしっくりと来る色を見つけることが目的になります。

動作

動作としては、

  • “iniファイル読込み”ボタンを押すことで、
    iniファイル内の指定の値を読込み
  • “背景色を変更する”ボタンを押すことで、
    テキストボックス内に入力されている値を使って背景色を変更
  • “iniファイルに書込む”ボタンを押すことで、
    テキストボックスに入力された値をiniファイルへ書込む

これらができることとします。

プログラム編

iniファイルへの読込み・書込み

こちらについては、以下の記事で作成したクラスファイルを使用します。

いままで当ブログで紹介してきたVB.Netの記事の各ジャンルごとに書いたコードをクラスとして新たに作成してみたのでご紹介。クラスの作成方法からクラスとは?といったことを簡単に紹介しています。

iniファイルを読込む

クラスの使用方法

clsIni.GetIniInt(“セクション名”, “キー名”)

セクション名 : iniファイル上で[]で囲まれた項目

キー名 : iniファイル上で=の左辺にある項目

※ セクション名とキーはセットです。

例)

[A]

Test = 1

[B]

Name = Apple

セクション名”A”のTestの値を取得したいときは、

clsIni.GetIniInt(“A”, “Test”)

ちなみに、clsIni.GetIniInt(“A”, “Name”)では、値を取ることができません

iniファイルへの書き込み

clsIni.WriteIniString(“セクション名”, “キー名”, “書き込みたい値”)

iniファイル読み込みボタン

ボタンを押したら、指定のキーの値を取得し、各テキストボックスに表示します。

コードを下に示します。

背景色を変更ボタン

ボタンを押したら、テキストボックスに入力されている値を元に背景色を変更します。

コードを下に示します。

iniファイルに書き込むボタン

ボタンを押したら、現在テキストボックスに入力されている値をiniファイルに書き込みます。

コードを下に示します。

これにて完成です。

それでは、実行していきます。



実行編

プログラム実行時

iniファイルを読込むボタン押下時

背景色を変更するボタン押下時

値を適当に入力し、背景色を変更するボタンを押下

iniファイルに書込むボタンを押下

iniファイルへの書込み結果

まとめ

今回は、背景色を変更するアプリケーションを作成し、

しっくりきた時に値をiniファイルへ書き込めるようにしました。

iniファイルの活用の応用例としてやアプリケーションの背景色で悩まれている方に、

参考になれば嬉しいです。

背景色は大事!

最後までご覧いただきありがとうございます。

・参考になりそうなオススメVB.Net書籍

VisualBasic2019パーフェクトマスター (Perfect Master)

現場ですぐに使える! Visual Basic 2019 逆引き大全 500の極意

かんたん Visual Basic [改訂2版] (プログラミングの教科書)

作って覚えるVisual Basic 2019 デスクトップアプリ入門

スポンサーリンク