備忘録兼ねてよく使いそうなプロパティについて記載します。
Marginなどの配置については書いていません。
以下ような画面でbutton1~3を変更させながら説明します。
Enable
ボタンの操作の可否を設定します。
Falseにするとグレーアウトし、クリックできなくなります。
未入力の項目があるときにクリックさせない場合や、別の処理をしているときにクリックされたくない場合に使います。
private void Enable_True_Click(object sender, EventArgs e)
{
button1.Enabled = true;
button2.Enabled = true;
button3.Enabled = true;
}
private void Enable_False_Click(object sender, EventArgs e)
{
button1.Enabled = false;
button2.Enabled = false;
button3.Enabled = false;
}
Visible
ボタンの表示を変更します。
Falseにすると表示自体がされなくなります。
private void Visible_True_Click(object sender, EventArgs e)
{
button1.Visible = true;
button2.Visible = true;
button3.Visible = true;
}
private void Visible_False_Click(object sender, EventArgs e)
{
button1.Visible = false;
button2.Visible = false;
button3.Visible = false;
}
AutoSize、AutoSizeMode
AutoSizeでボタンのサイズを自動で調整するか設定します。
Trueの場合、自動でボタンのサイズが調整されます。Falseの場合は変更しません。
AutoSizeModeでサイズを大きくするだけか、小さくもするかを設定します。
GrowAndShrinkを設定した場合、ボタンがテキストに合わせ縮小します。
自動調整しない場合、見切れる可能性があります。
自動調整する場合、表示テキストに合わせてサイズが変わりますが、ほかのコントロールと重なる場合があるため注意が必要です。
AutoSizeModeにGrowAndShrinkを設定するとテキストに合わせ小さくもなります。
コントロールのサイズが変わると使いにくい場面もあると思いますので、デザインにより使い分けが必要です。個人的にはあまり自動調整は使用しません。
private void AutoSize_True_Click(object sender, EventArgs e)
{
button1.AutoSize = true;
button2.AutoSize = true;
button3.AutoSize = true;
}
private void AutoSize_False_Click(object sender, EventArgs e)
{
button1.AutoSize = false;
button2.AutoSize = false;
button3.AutoSize = false;
}
private void GrowOnly_Click(object sender, EventArgs e)
{
button1.AutoSizeMode = AutoSizeMode.GrowOnly;
button2.AutoSizeMode = AutoSizeMode.GrowOnly;
button3.AutoSizeMode = AutoSizeMode.GrowOnly;
}
private void GrowAndShrink_Click(object sender, EventArgs e)
{
button1.AutoSizeMode = AutoSizeMode.GrowAndShrink;
button2.AutoSizeMode = AutoSizeMode.GrowAndShrink;
button3.AutoSizeMode = AutoSizeMode.GrowAndShrink;
}
BackColor
ボタンの背景色を設定します。
デザイナからプロパティ値を見るとSystemColors.Controlが設定されているように見えますが、実際に設定してみるとFormの背景色と同じ色になります。
元のボタンの背景色にするにはSystemColors.Windowを設定します。
Colorも設定できるので、例えばColor.Redで赤色とすることもできます。
private void Control_Click(object sender, EventArgs e)
{
button1.BackColor = SystemColors.Control;
button2.BackColor = SystemColors.Control;
button3.BackColor = SystemColors.Control;
}
private void Window_Click(object sender, EventArgs e)
{
button1.BackColor = SystemColors.Window;
button2.BackColor = SystemColors.Window;
button3.BackColor = SystemColors.Window;
}
private void Red_Click(object sender, EventArgs e)
{
button1.BackColor = Color.Red;
button2.BackColor = Color.Red;
button3.BackColor = Color.Red;
}
ForeColor
ボタンのテキストの色を設定します。
Color.Blueを設定した例です。
private void ControlText_Click(object sender, EventArgs e)
{
button1.ForeColor = SystemColors.ControlText;
button2.ForeColor = SystemColors.ControlText;
button3.ForeColor = SystemColors.ControlText;
}
private void Blue_Click(object sender, EventArgs e)
{
button1.ForeColor = Color.Blue;
button2.ForeColor = Color.Blue;
button3.ForeColor = Color.Blue;
}
TextAlign
ボタンのテキストの表示位置を変更します。
左上を指定する場合はTopLeftとなります。
private void MiddleCenter_Click(object sender, EventArgs e)
{
button1.TextAlign = ContentAlignment.MiddleCenter;
button2.TextAlign = ContentAlignment.MiddleCenter;
button3.TextAlign = ContentAlignment.MiddleCenter;
}
private void TopLeft_Click(object sender, EventArgs e)
{
button1.TextAlign = ContentAlignment.TopLeft;
button2.TextAlign = ContentAlignment.TopLeft;
button3.TextAlign = ContentAlignment.TopLeft;
}
FlatStyle
ボタンの表示スタイルを変更します。
カーソルがボタン上にある場合の表示にも影響します。
Flatの場合、マウスカーソルが上にあると色が濃くなります。
Popupの場合、マウスカーソルが上にあると立体表示になります。
Standardは規定値の表示で青みがかります。
Systemもほぼ同様ですが、OSに左右されるようです。そのためあまり使うべきではないかと思います。