tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルWin7でのDateTimePicker表示について
記事No10333
投稿日: 2010/12/02(Thu) 10:11
投稿者sa
VB2005にてDateTimePickerコントロールを使っているのですが、
作成したexeをWindows7で実行すると、フォントサイズが変更されません。

■DateTimePickerコントロールのプロパティ
 (1)Font … コンボが閉じている時に表示される文字 [YYYY年MM月DD日]
 (2)CalendarFont … コンボが開いた時に表示されるカレンダ文字

(1)は設定した値で表示されるのですが、(2)の設定値が画面表示に反映されません。
(2)のフォントですが、VBで設定した値ではなく、
Windowsのデスクトップのタスクバー(画面右下)の日付をクリックすると表示される
カレンダーと同じフォントで表示されているように思います。

Windows7上に、VBで指定したフォントサイズで表示する方法はないでしょうか。

----------------------------------------
開発環境
OS: WindowsXP Professional SP3
VB: 2005 (Visual Studio 2005 SP1)
----------------------------------------
exe実行環境
OS: Windows 7 Enterprise
VB: 未インストール
----------------------------------------

よろしくお願いします。

[ツリー表示へ]
タイトルRe: Win7でのDateTimePicker表示について
記事No10336
投稿日: 2010/12/02(Thu) 12:42
投稿者花ちゃん
検索したら、下記が見つかりました。(違ったいたらごめんなさい)
日本語のMSDNには、Remarks 文が省略されているようですが。
(私は英語が読めませんので、詳しくはご自分で確認を)

http://msdn.microsoft.com/en-us/library/system.windows.forms.datetimepicker.calendarfont.aspx

[ツリー表示へ]
タイトルRe^2: Win7でのDateTimePicker表示について
記事No10337
投稿日: 2010/12/02(Thu) 14:01
投稿者sa
早速のレスありがとうございました。

私もあれから調べておりまして、Remarksの内容を確認しました。
カレンダー表示では、VBで設定したプロパティ値が引き継がれず、
OSの設定が反映されてしまうようです。

■VisualStyleStateプロパティ
 Application.VisualStyleState = VisualStyleState.NoneEnabled

と記述すれば、OSの情報を引き継がないようにすることもできるようですが、
引き継いでほしい情報まで切られてしまい、満足のいく結果ではありませんでした。
上記のプロパティを設定すると、カレンダー表示はうまくいきましたが、
残念なことに、フォームのデザインがWin2000のような表示になってしまいました。
(フォームの角に丸みがない、色も若干違う。懐かしいフォームの形を見ました。)

DateTimePicker以外で実装する方法に考え直してみます。
本当にありがとうございました。

[ツリー表示へ]