なにかの役に立つと思い、コントロールの ControlStyles がどうなっているのかを調べてみました。結果は次のようになりました。
ControlStyles 一覧(Visual Studio 2003)
○:True
none:False
|
AllPainting InWmPaint |
Cache Text |
Container Control |
Double Buffer |
Enable Notify Message |
Fixed Height |
Fixed Width |
Opaque |
Resize Redraw |
Selectable |
|
Standard Click |
Standard DoubleClick |
Supports Transparent BackColor |
User Mouse |
User Paint |
| Button |
○ |
○ |
|
○ |
|
|
|
○ |
○ |
○ |
Button |
|
|
○ |
○ |
○ |
| CheckBox |
○ |
○ |
|
○ |
|
|
|
○ |
○ |
○ |
CheckBox |
|
|
○ |
○ |
○ |
| CheckedListBox |
○ |
|
|
|
|
|
|
|
○ |
○ |
CheckedListBox |
|
○ |
|
|
|
| ComboBox |
○ |
|
|
|
|
|
|
|
|
○ |
ComboBox |
|
○ |
|
|
|
| DataGrid |
○ |
|
|
|
|
|
|
|
|
○ |
DataGrid |
○ |
○ |
|
○ |
○ |
| DateTimePicker |
○ |
|
|
|
|
○ |
|
|
|
○ |
DateTimePicker |
|
○ |
|
|
|
| DomainUpDown |
|
|
○ |
|
|
○ |
|
|
|
○ |
DomainUpDown |
○ |
○ |
|
|
○ |
| Form |
|
|
○ |
|
|
|
|
|
|
○ |
Form |
○ |
○ |
|
|
○ |
| GroupBox |
○ |
|
○ |
|
|
|
|
|
○ |
|
GroupBox |
○ |
○ |
○ |
|
○ |
| HScrollBar |
○ |
|
|
|
|
|
|
|
|
○ |
HScrollBar |
|
○ |
|
|
|
| Label |
○ |
|
|
○ |
|
|
|
|
○ |
|
Label |
○ |
○ |
○ |
|
○ |
| LinkLabel |
○ |
|
|
○ |
|
|
|
○ |
○ |
○ |
LinkLabel |
○ |
○ |
○ |
|
○ |
| ListBox |
○ |
|
|
|
|
|
|
|
|
○ |
ListBox |
|
○ |
|
|
|
| ListView |
○ |
|
|
|
|
|
|
|
|
○ |
ListView |
|
○ |
|
|
|
| MonthCalendar |
○ |
|
|
|
|
|
|
|
|
○ |
MonthCalendar |
|
○ |
|
|
|
| NumericUpDown |
|
|
○ |
|
|
○ |
|
|
|
○ |
NumericUpDown |
○ |
○ |
|
|
○ |
| Panel |
|
|
○ |
|
|
|
|
|
|
|
Panel |
○ |
○ |
○ |
|
○ |
| PictureBox |
○ |
|
|
○ |
|
|
|
|
|
|
PictureBox |
○ |
○ |
○ |
|
○ |
| ProgressBar |
○ |
|
|
|
|
|
|
|
|
|
ProgressBar |
○ |
○ |
|
|
|
| RadioButton |
○ |
○ |
|
○ |
|
|
|
○ |
○ |
○ |
RadioButton |
|
○ |
○ |
○ |
○ |
|
AllPainting InWmPaint |
Cache Text |
Container Control |
Double Buffer |
Enable Notify Message |
Fixed Height |
Fixed Width |
Opaque |
Resize Redraw |
Selectable |
|
Standard Click |
Standard DoubleClick |
Supports Transparent BackColor |
User Mouse |
User Paint |
| RichTextBox |
○ |
|
|
|
|
|
|
|
|
○ |
RichTextBox |
|
○ |
|
|
|
| Splitter |
○ |
|
|
|
|
|
|
|
|
|
Splitter |
○ |
○ |
|
|
○ |
| StatusBar |
○ |
|
|
|
|
|
|
|
|
|
StatusBar |
○ |
○ |
|
|
|
| TabControl |
○ |
|
|
|
|
|
|
|
|
○ |
TabControl |
○ |
○ |
|
|
|
| TabPage |
|
○ |
○ |
|
|
|
|
|
|
|
TabPage |
○ |
○ |
○ |
|
○ |
| TextBox |
○ |
|
|
|
|
○ |
|
|
|
○ |
TextBox |
|
|
|
|
|
| ToolBar |
○ |
|
|
|
|
○ |
|
|
|
○ |
ToolBar |
○ |
○ |
|
|
|
| TrackBar |
○ |
|
|
|
|
|
|
|
|
○ |
TrackBar |
○ |
○ |
|
|
|
| TreeView |
○ |
|
|
|
|
|
|
|
|
○ |
TreeView |
|
○ |
|
|
|
| UserControl |
|
|
○ |
|
|
|
|
|
|
○ |
UserControl |
○ |
○ |
|
|
○ |
| VScrollBar |
○ |
|
|
|
|
|
|
|
|
○ |
VScrollBar |
|
○ |
|
|
|
ControlStyles 一覧(Visual Studio 2005, Visual Studio 2008)
○:True
none:False
|
A l l P a i n t i n g I n W m P a i n t |
C a c h e T e x t |
C o n t a i n e r C o n t r o l |
D o u b l e B u f f e r |
E n a b l e N o t i f y M e s s a g e |
F i x e d H e i g h t |
F i x e d W i d t h |
O p a q u e |
O p t i m i z e d D o u b l e B u f f e r |
R e s i z e R e d r a w |
S e l e c t a b l e |
S t a n d a r d C l i c k |
S t a n d a r d D o u b l e C l i c k |
S u p p o r t s T r a n s p a r e n t B a c k C o l o r |
U s e r M o u s e |
U s e r P a i n t |
U s e T e x t F o r A c c e s s i b i l i t y |
| Button |
○ |
○ |
|
|
|
|
|
○ |
○ |
○ |
○ |
|
|
○ |
○ |
○ |
○ |
| CheckBox |
○ |
○ |
|
|
|
|
|
○ |
○ |
○ |
○ |
|
|
○ |
○ |
○ |
○ |
| CheckedListBox |
○ |
|
|
|
|
|
|
|
|
○ |
○ |
|
○ |
|
|
|
|
| ComboBox |
○ |
|
|
|
|
|
|
|
|
|
○ |
|
○ |
|
|
|
|
| DataGridView |
○ |
|
|
|
|
|
|
○ |
|
|
○ |
○ |
○ |
|
○ |
○ |
○ |
| DateTimePicker |
○ |
|
|
|
|
○ |
|
|
|
|
○ |
|
○ |
|
|
|
○ |
| DomainUpDown |
|
|
○ |
|
|
○ |
|
○ |
|
○ |
○ |
|
○ |
|
|
○ |
|
| FlowLayoutPanel |
|
|
○ |
|
|
|
|
|
|
|
|
○ |
○ |
○ |
|
○ |
○ |
| Form |
|
|
○ |
|
|
|
|
|
|
|
○ |
○ |
○ |
|
|
○ |
○ |
| GroupBox |
○ |
|
○ |
|
|
|
|
|
|
○ |
|
○ |
○ |
○ |
|
○ |
○ |
| HScrollBar |
○ |
|
|
|
|
|
|
|
|
|
○ |
|
○ |
|
|
|
|
| Label |
○ |
|
|
|
|
|
|
|
○ |
○ |
|
○ |
○ |
○ |
|
○ |
○ |
| LinkLabel |
○ |
|
|
|
|
|
|
○ |
○ |
○ |
○ |
○ |
○ |
○ |
|
○ |
○ |
| ListBox |
○ |
|
|
|
|
|
|
|
|
|
○ |
|
○ |
|
|
|
|
| ListView |
○ |
|
|
|
|
|
|
|
|
|
○ |
|
○ |
|
|
|
|
| MaskedTextBox |
○ |
|
|
|
|
○ |
|
|
|
|
○ |
|
|
|
|
|
|
| MonthCalendar |
○ |
|
|
|
|
|
|
|
|
|
○ |
|
○ |
|
|
|
○ |
| NumericUpDown |
|
|
○ |
|
|
○ |
|
○ |
|
○ |
○ |
|
○ |
|
|
○ |
|
| Panel |
|
|
○ |
|
|
|
|
|
|
|
|
○ |
○ |
○ |
|
○ |
○ |
| PictureBox |
○ |
|
|
|
|
|
|
|
○ |
|
|
○ |
○ |
○ |
|
○ |
○ |
|
A l l P a i n t i n g I n W m P a i n t |
C a c h e T e x t |
C o n t a i n e r C o n t r o l |
D o u b l e B u f f e r |
E n a b l e N o t i f y M e s s a g e |
F i x e d H e i g h t |
F i x e d W i d t h |
O p a q u e |
O p t i m i z e d D o u b l e B u f f e r |
R e s i z e R e d r a w |
S e l e c t a b l e |
S t a n d a r d C l i c k |
S t a n d a r d D o u b l e C l i c k |
S u p p o r t s T r a n s p a r e n t B a c k C o l o r |
U s e r M o u s e |
U s e r P a i n t |
U s e T e x t F o r A c c e s s i b i l i t y |
| ProgressBar |
○ |
|
|
|
|
|
|
|
|
|
|
○ |
○ |
|
|
|
|
| PropertyGrid |
|
|
○ |
|
|
|
|
|
|
|
○ |
○ |
○ |
|
|
○ |
○ |
| RadioButton |
○ |
○ |
|
|
|
|
|
○ |
○ |
○ |
○ |
|
○ |
○ |
○ |
○ |
○ |
| RichTextBox |
○ |
|
|
|
|
|
|
|
|
|
○ |
|
|
|
|
|
|
| SplitContainer |
|
|
○ |
|
|
|
|
|
○ |
|
○ |
○ |
○ |
○ |
|
○ |
○ |
| Splitter |
○ |
|
|
|
|
|
|
|
|
|
|
○ |
○ |
|
|
○ |
○ |
| StatusStrip |
○ |
|
○ |
|
|
|
|
|
○ |
○ |
|
○ |
○ |
○ |
|
○ |
○ |
| TabControl |
○ |
|
|
|
|
|
|
|
|
|
○ |
○ |
○ |
|
|
|
○ |
| TabPage |
|
○ |
○ |
|
|
|
|
|
|
|
|
○ |
○ |
○ |
|
○ |
○ |
| TableLayoutPanel |
|
|
○ |
|
|
|
|
|
|
|
|
○ |
○ |
○ |
|
○ |
○ |
| TextBox |
○ |
|
|
|
|
○ |
|
|
|
|
○ |
|
|
|
|
|
|
| ToolStrip |
○ |
|
○ |
|
|
|
|
|
○ |
|
|
○ |
○ |
○ |
|
○ |
○ |
| TrackBar |
○ |
|
|
|
|
|
|
|
|
|
○ |
○ |
○ |
|
|
|
|
| TreeView |
○ |
|
|
|
|
|
|
|
|
|
○ |
|
○ |
|
|
|
|
| UserControl |
|
|
○ |
|
|
|
|
|
|
|
○ |
○ |
○ |
○ |
|
○ |
○ |
| VScrollBar |
○ |
|
|
|
|
|
|
|
|
|
○ |
|
○ |
|
|
|
|
| WebBrowser |
○ |
|
|
|
|
|
|
|
|
|
○ |
○ |
○ |
|
|
|
○ |
見てわかるとおり列が見づらいです。これ以上見やすくする方法がわかりませんでした。
結果の方はというと、EnableNotifyMessage と FixedWidth
がどのコントロールでも適用されていませんでした。あとは、特に言うこともなく見てのとおりです。Visual Stuidio 2003 や 2008
の結果も合ったほうがいいかなぁ。なにか違いがあるとおもしろそうですね。
追記
Visual Studio 2003 を追加しました。Visual Studio 2008 は Visual Studio 2005 と同じ結果でしたので一つにまとめました。どちらが見やすいかな。