teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追加

2017/02/10 03:37

投稿

hsk
hsk

スコア728

answer CHANGED
@@ -56,7 +56,43 @@
56
56
  ```
57
57
  「ウインドウプロシージャ」で、ユーザーの操作内容をすり替えています。
58
58
 
59
- ほかついては、適宜。。
59
+ ##閉じるボタンを無効する
60
+ Alt+F4も無効になる方法と、有効なままにする方法とありますが、ここでは前者を。
60
61
 
62
+ ```C#
63
+ using System;
64
+ using System.Windows.Forms;
65
+ using System.Security.Permissions;
66
+
67
+ namespace WindowsFormsApplication1
68
+ {
69
+ public partial class TargetForm : Form
70
+ {
71
+ public TargetForm()
72
+ {
73
+ InitializeComponent();
74
+ }
75
+
76
+ // ここから
77
+ protected override CreateParams CreateParams
78
+ {
79
+ [SecurityPermission(SecurityAction.Demand,
80
+ Flags = SecurityPermissionFlag.UnmanagedCode)]
81
+ get
82
+ {
83
+ CreateParams cp = base.CreateParams;
84
+ cp.ClassStyle = cp.ClassStyle | 0x200; // CS_NOCLOSE を追加
85
+
86
+ return cp;
87
+ }
88
+ }
89
+ // ここまで
90
+ }
91
+ }
92
+
93
+ ```
94
+
95
+
61
96
  ##ご参考
62
- - [フォームのサイズを制限する](http://dobon.net/vb/dotnet/form/minimumsize.html) - DOBON.NETさん
97
+ - [フォームのサイズを制限する](http://dobon.net/vb/dotnet/form/minimumsize.html) - DOBON.NETさん
98
+ - [フォームの「閉じる」ボタンを無効にする](http://dobon.net/vb/dotnet/form/disabledclosebutton.html) - DOBON.NETさん