カレンダーを表示して日付を選択するケースは少なくありません。
MonthCalendar を使うことも多いと思います。
ただ、残念なのは、初期状態では色やフォントが固定であること。
色やフォントを変えて操作性をアップしましょう。
(フォントサイズを変えると、ヵレンダー自体のサイズも変わります)
(画像に乱れがありますが、色やフォントの変化を分かっていただけると思います)
静止画はこんな感じ・・・
各ボタンをクリックした時のコードは次のとおり・・・
Windows Form は "frm_Main" です。
このフォーム上に "MonthCalendar_P4" を置いています。
コードは frm_Main ではなく、別のクラスにあります。
---------------------------------------------------------------------------------------------------------
' --- カレンダー: 色をセット
Public Sub prc_Set_Color_MonthCalendar()
' --- カレンダー(MonthCalendar): XP Visual スタイルを無効にしておく(カレンダーの色を指定するため)
With frm_Main.MonthCalendar_P4
.TitleBackColor = Color.DeepSkyBlue
.TrailingForeColor = Color.Red
.TitleForeColor = Color.Yellow
.BackColor = Color.LemonChiffon
End With
End Sub
' --- カレンダー: 色をリセット
Public Sub prc_Reset_Color_MonthCalendar()
With frm_Main.MonthCalendar_P4
.TitleBackColor = Color.White
.TrailingForeColor = Color.Red
.TitleForeColor = Color.Black
.BackColor = Color.White
End With
End Sub
' --- カレンダー: フォントをセット
Public Sub prc_Set_Font_MonthCalendar()
Dim fontDlg As New FontDialog
If (fontDlg.ShowDialog = DialogResult.OK) Then
With fontDlg
frm_Main.MonthCalendar_P4.Font = New Font(.Font.Name, .Font.Size, .Font.Style)
End With
End If
End Sub
' --- カレンダー: フォントをリセット
Public Sub prc_Reset_Font_MonthCalendar()
frm_Main.MonthCalendar_P4.Font = New Font("Meiryo UI", 10, FontStyle.Regular)
End Sub
---------------------------------------------------------------------------------------------------------
なお、上記を動作させるためには次が必要です。
プロジェクトで[XP Visual スタイルを有効にする]のチェックを外しておいてください。
【追記】 2024-07-05
この記事にコメントが届きました。
Visual Studio 2022 を使っているが、[XP Visual スタイルを有効にする]が表示されない(なので、それを選べない)とのことです。
この記事は 2017年12月に公開したものです(今から 7年前)。この頃は、ターゲットフレームワークは .NET Framework x.x で、.NET Core は選べなかったと思います。今は .NET 8.0 まで出ています(選択できるようになっています)。
で、[XP Visual スタイルを有効にする]が表示されないのは、ターゲットフレームワークが(おそらく).NET x になっているのだと思います。
.NET Framework x.x(4.8.1 が最新)に変えてください。
【追記】2024-07-16
「.NET Core 1.0」は 2016年にリリースされているようです。なので、この記事を公開した時点では .NET Core が出ていたことになります。
2020年には「.NET 5」になり Core の字が取れたとのことです。
https://ja.wikipedia.org/wiki/.NET
---------------------------------------------------------
ブログ記事についてのお問い合わせは「質疑応答 掲示板」で・・・
# ご質問にはできる限りお答えしています。
ただし、お名前(本名)を書いていただいた場合に限らせていただきます。
ここをクリックして、北窓舎のサイトにもお立ち寄りください・・・
MonthCalendar を使うことも多いと思います。
ただ、残念なのは、初期状態では色やフォントが固定であること。
色やフォントを変えて操作性をアップしましょう。
(フォントサイズを変えると、ヵレンダー自体のサイズも変わります)
(画像に乱れがありますが、色やフォントの変化を分かっていただけると思います)
静止画はこんな感じ・・・
各ボタンをクリックした時のコードは次のとおり・・・
Windows Form は "frm_Main" です。
このフォーム上に "MonthCalendar_P4" を置いています。
コードは frm_Main ではなく、別のクラスにあります。
---------------------------------------------------------------------------------------------------------
' --- カレンダー: 色をセット
Public Sub prc_Set_Color_MonthCalendar()
' --- カレンダー(MonthCalendar): XP Visual スタイルを無効にしておく(カレンダーの色を指定するため)
With frm_Main.MonthCalendar_P4
.TitleBackColor = Color.DeepSkyBlue
.TrailingForeColor = Color.Red
.TitleForeColor = Color.Yellow
.BackColor = Color.LemonChiffon
End With
End Sub
' --- カレンダー: 色をリセット
Public Sub prc_Reset_Color_MonthCalendar()
With frm_Main.MonthCalendar_P4
.TitleBackColor = Color.White
.TrailingForeColor = Color.Red
.TitleForeColor = Color.Black
.BackColor = Color.White
End With
End Sub
' --- カレンダー: フォントをセット
Public Sub prc_Set_Font_MonthCalendar()
Dim fontDlg As New FontDialog
If (fontDlg.ShowDialog = DialogResult.OK) Then
With fontDlg
frm_Main.MonthCalendar_P4.Font = New Font(.Font.Name, .Font.Size, .Font.Style)
End With
End If
End Sub
' --- カレンダー: フォントをリセット
Public Sub prc_Reset_Font_MonthCalendar()
frm_Main.MonthCalendar_P4.Font = New Font("Meiryo UI", 10, FontStyle.Regular)
End Sub
---------------------------------------------------------------------------------------------------------
なお、上記を動作させるためには次が必要です。
プロジェクトで[XP Visual スタイルを有効にする]のチェックを外しておいてください。
【追記】 2024-07-05
この記事にコメントが届きました。
Visual Studio 2022 を使っているが、[XP Visual スタイルを有効にする]が表示されない(なので、それを選べない)とのことです。
この記事は 2017年12月に公開したものです(今から 7年前)。この頃は、ターゲットフレームワークは .NET Framework x.x で、
で、[XP Visual スタイルを有効にする]が表示されないのは、ターゲットフレームワークが(おそらく).NET x になっているのだと思います。
.NET Framework x.x(4.8.1 が最新)に変えてください。
【追記】2024-07-16
「.NET Core 1.0」は 2016年にリリースされているようです。なので、この記事を公開した時点では .NET Core が出ていたことになります。
2020年には「.NET 5」になり Core の字が取れたとのことです。
https://ja.wikipedia.org/wiki/.NET
---------------------------------------------------------
ブログ記事についてのお問い合わせは「質疑応答 掲示板」で・・・
# ご質問にはできる限りお答えしています。
ただし、お名前(本名)を書いていただいた場合に限らせていただきます。
ここをクリックして、北窓舎のサイトにもお立ち寄りください・・・
コメント投稿、ありがとうございます。
でも、投稿された記事は「2024年5月の KB5037771 が原因か?(.xslm が開けない)」ではなく、「[VB.NET] MonthCalendar の色、フォントを変えたい・・・」だと思います。できれば、次の記事に対してコメントして頂けると幸いです。
https://blog.goo.ne.jp/ashm314/e/bfac1c972960c4f13e21ec4abf12511c#comment-list
さて、本題ですが、VisualStudio Proffesional2022をお使いとのことですが、作られたプログラムが動作する実行環境/ターゲットフレームワークは何でしょうか?
「XP Visual スタイルを有効にする」が表示されたいとのことなので、もしかしてターゲットフレームワークが .NET Framework 4.x などではなく、.NET n なのではないでしょうか?
ターゲットフレームワークを .NET Framework にしてお試しいただけませんか?
また、ブログ記事のコメントで質疑応答すると(私には)面倒なので、できれば メールでやり取りできるとウレシイです。私のアドレスは ash.m314@gmail.com です。
迅速な回答ありがとうございます。
結論から申し上げますと無事変更出来ました!
ただ、
躓いた部分がありまして共有させて頂きます。
ターゲットフレームワークを変更しようとした際に
公式より.NET Framework 4.8をインストールしたにも関わらず項目上には.NET8.0しか表示されなくて
あれ。なんでだ。。。って時間をかけてしまっていたのですが、
そもそもプロジェクトテンプレートが間違っており、
本来Windowsフォームアプリケーション(.NET Framework)で作成すれば選択出来たのですが、
ずっとWindowsフォームアプリで作成していたので.NET8.0しか選択出来なかったというオチ。
改めて助かりました。ありがとうございます!
>アリガトゴザイマスッ... への返信
神田さん、無事解決できたとのこと、おめでとうございます。お手伝いできてよかったです。
これからも頑張ってください。