回答編集履歴

6

質問者・回答者プロフィールへのリンクを追加

2020/07/11 06:23

投稿

SHOMI
SHOMI

スコア4079

test CHANGED
@@ -1,12 +1,6 @@
1
1
  stackoverflowにありました
2
2
 
3
3
  [How can I remove the “Today” button from DateTimePicker control](https://stackoverflow.com/questions/10918138/how-can-i-remove-the-today-button-from-datetimepicker-control-of-windows-form)
4
-
5
-
6
-
7
- 0. クラスを追加して以下のコードをペーストし、ビルドする
8
-
9
- 0. ツールボックスに追加された「MyDateTimePicker」を「DateTimePicker」の代わりにフォームに貼り付ける
10
4
 
11
5
 
12
6
 
@@ -56,6 +50,14 @@
56
50
 
57
51
  ```
58
52
 
53
+ 質問者([KhannaB7](https://stackoverflow.com/users/1259841/khannab7))/回答者([Hans Passant](https://stackoverflow.com/users/17034/hans-passant))
54
+
55
+
56
+
57
+ 0. クラスを追加して上記のコードをペーストし、ビルドする
58
+
59
+ 0. ツールボックスに追加された「MyDateTimePicker」を「DateTimePicker」の代わりにフォームに貼り付ける
60
+
59
61
 
60
62
 
61
63
  ![DateTimePicker](b006315f3db688c32d029c2d6631b5c5.png)

5

リンク修正

2020/07/11 06:23

投稿

SHOMI
SHOMI

スコア4079

test CHANGED
@@ -80,7 +80,7 @@
80
80
 
81
81
  で当月のみ表示されます。
82
82
 
83
- [Month Calendar Control Styles](https://docs.microsoft.com/ja-jp/windows/win32/controls/month-calendar-control-styles)
83
+ [Month Calendar Control Styles](https://docs.microsoft.com/en-us/windows/win32/controls/month-calendar-control-styles)
84
84
 
85
85
  にある通り、Vista以降でのみ有効です。
86
86
 

4

リンク修正

2019/07/25 14:59

投稿

SHOMI
SHOMI

スコア4079

test CHANGED
@@ -80,7 +80,7 @@
80
80
 
81
81
  で当月のみ表示されます。
82
82
 
83
- https://docs.microsoft.com/ja-jp/windows/win32/controls/month-calendar-control-styles
83
+ [Month Calendar Control Styles](https://docs.microsoft.com/ja-jp/windows/win32/controls/month-calendar-control-styles)
84
84
 
85
85
  にある通り、Vista以降でのみ有効です。
86
86
 

3

当月のみ表示方法追記

2019/07/25 14:58

投稿

SHOMI
SHOMI

スコア4079

test CHANGED
@@ -59,3 +59,29 @@
59
59
 
60
60
 
61
61
  ![DateTimePicker](b006315f3db688c32d029c2d6631b5c5.png)
62
+
63
+
64
+
65
+ - 当月のみ表示対応
66
+
67
+ ```C#
68
+
69
+ private const int MCS_NOTRAILINGDATES = 0x0040;
70
+
71
+ ```
72
+
73
+ を追加し、
74
+
75
+ ```C#
76
+
77
+ style |= MCS_NOTODAY | MCS_NOTODAYCIRCLE | MCS_NOTRAILINGDATES ;
78
+
79
+ ```
80
+
81
+ で当月のみ表示されます。
82
+
83
+ https://docs.microsoft.com/ja-jp/windows/win32/controls/month-calendar-control-styles
84
+
85
+ にある通り、Vista以降でのみ有効です。
86
+
87
+ ![当月のみ表示](019353669296e6bd70435249f98249a5.png)

2

stackoverflowの内容を日本語で追記

2019/07/25 14:57

投稿

SHOMI
SHOMI

スコア4079

test CHANGED
@@ -2,4 +2,60 @@
2
2
 
3
3
  [How can I remove the “Today” button from DateTimePicker control](https://stackoverflow.com/questions/10918138/how-can-i-remove-the-today-button-from-datetimepicker-control-of-windows-form)
4
4
 
5
+
6
+
7
+ 0. クラスを追加して以下のコードをペーストし、ビルドする
8
+
9
+ 0. ツールボックスに追加された「MyDateTimePicker」を「DateTimePicker」の代わりにフォームに貼り付ける
10
+
11
+
12
+
13
+ ```C#
14
+
15
+ using System;
16
+
17
+ using System.Windows.Forms;
18
+
19
+ using System.Runtime.InteropServices;
20
+
21
+
22
+
23
+ class MyDateTimePicker : DateTimePicker {
24
+
25
+ protected override void OnHandleCreated(EventArgs e) {
26
+
27
+ int style = (int)SendMessage(this.Handle, DTM_GETMCSTYLE, IntPtr.Zero, IntPtr.Zero);
28
+
29
+ style |= MCS_NOTODAY | MCS_NOTODAYCIRCLE;
30
+
31
+ SendMessage(this.Handle, DTM_SETMCSTYLE, IntPtr.Zero, (IntPtr)style);
32
+
33
+ base.OnHandleCreated(e);
34
+
35
+ }
36
+
37
+ //pinvoke:
38
+
39
+ private const int DTM_FIRST = 0x1000;
40
+
41
+ private const int DTM_SETMCSTYLE = DTM_FIRST + 11;
42
+
43
+ private const int DTM_GETMCSTYLE = DTM_FIRST + 12;
44
+
45
+ private const int MCS_NOTODAYCIRCLE = 0x0008;
46
+
47
+ private const int MCS_NOTODAY = 0x0010;
48
+
49
+
50
+
51
+ [DllImport("user32.dll")]
52
+
53
+ private static extern IntPtr SendMessage(IntPtr hWnd, int msg, IntPtr wp, IntPtr lp);
54
+
55
+ }
56
+
57
+ ```
58
+
59
+
60
+
5
61
  ![DateTimePicker](b006315f3db688c32d029c2d6631b5c5.png)

1

画像追加

2019/07/25 14:15

投稿

SHOMI
SHOMI

スコア4079

test CHANGED
@@ -1,3 +1,5 @@
1
1
  stackoverflowにありました
2
2
 
3
3
  [How can I remove the “Today” button from DateTimePicker control](https://stackoverflow.com/questions/10918138/how-can-i-remove-the-today-button-from-datetimepicker-control-of-windows-form)
4
+
5
+ ![DateTimePicker](b006315f3db688c32d029c2d6631b5c5.png)