1、命名空间与继承
命名空间:System.Windows.Forms
继承:Object→MarshalByRefObject→Component→Control→ButtonBase→Button
2、常用属性
FlatStyle:按钮样式
ForeColor: 表示字体颜色
Image: 设置button图片
ImageAlign:设置button图片对齐格式
TextAlign: button文字对齐格式
3、常用事件
//button Click事件
private void button1_Click(object sender, EventArgs e)
4、官方示例
无
常见的Button简单分为3种,
- 普通Button
- 两种状态切换的Button
- 图片Button
两种状态的Button,需要设置一个变量,记录Button的状态,人工区分.也可以使用CheckBox达到一样的效果,并且不用设置变量记录
//两种状态Button
bool button3_state = false;
private void button3_Click(object sender, EventArgs e)
{
button3_state = !button3_state;
if (button3_state)
{
this.button3.BackColor = Color.Red;
this.button3.ForeColor = Color.White;
this.button3.Text = "运行";
}
else
{
this.button3.BackColor = Color.Green;
this.button3.ForeColor = Color.Snow;
this.button3.Text = "停止";
}
}
5、其他
- 去掉Button按钮的边缘线[设置FlatStyle为Flat,并且设置FlatAppearance下的BorderSize为0]
this.button3.FlatStyle= FlatStyle.Flat;
this.button3.FlatAppearance.BorderSize = 0;
- button1.DialogResult 字段可以设置点击该按钮给一个DialogResult 的返回类型,如button1.DialogResult = DialogResult.OK方便处理
- Button如果按钮具有焦点,可以使用鼠标、ENTER 键或空格键单击 A。
- AcceptButton设置或CancelButton属性Form以允许用户单击按钮,方法是按 Enter 或 ESC 键,即使该按钮没有焦点也是如此。 这为窗体提供对话框的行为。
- 在Button中没有DoubleClick事件,可以自定义两次Click时间间隔来实现。见下图->官方说明
控制 | 鼠标左键单击 | 鼠标左键双击 | 右键单击 | 右键单击鼠标双击 | 鼠标中键单击 | 鼠标中间双击 | XButton1 鼠标单击 | XButton1 鼠标Double-Click | XButton2 鼠标单击 | XButton2 鼠标Double-Click |
---|---|---|---|---|---|---|---|---|---|---|
MonthCalendar, DateTimePicker, RichTextBox, HScrollBar, VScrollBar | 无 | 无 | 无 | 无 | 无 | 无 | 无 | 无 | 无 | 无 |
Button, CheckBox, RadioButton | 单击 | 单击,单击 | 无 | 无 | 无 | 无 | 无 | 无 | 无 | 无 |
ListBox, CheckedListBox, ComboBox | 单击 | 单击,DoubleClick | 无 | 无 | 无 | 无 | 无 | 无 | 无 | 无 |
TextBox, DomainUpDown, NumericUpDown | 单击 | 单击,DoubleClick | 无 | 无 | 无 | 无 | 无 | 无 | 无 | 无 |
* TreeView, \* ListView | 单击 | 单击,DoubleClick | 单击 | 单击,DoubleClick | 无 | 无 | 无 | 无 | 无 | 无 |
ProgressBar, TrackBar | 单击 | 单击,单击 | 单击 | 单击,单击 | 单击 | 单击,单击 | 单击 | 单击,单击 | 单击 | 单击,单击 |
Form, DataGrid, Label, LinkLabel, Panel, GroupBox, PictureBox, Splitter, StatusBar, ToolBar, TabPage, ** TabControl | 单击 | 单击,DoubleClick | 单击 | 单击,DoubleClick | 单击 | 单击,DoubleClick | 单击 | 单击,DoubleClick | 单击 | 单击,DoubleClick |
下面列表显示单击一次鼠标按钮所引发事件的顺序:
- MouseDown 事件
- Click 事件
- MouseClick 事件
- MouseUp 事件
以下是双击鼠标按钮所引发事件的顺序:
- MouseDown 事件
- Click 事件
- MouseClick 事件
- MouseUp 事件
- MouseDown 事件
- DoubleClick 事件(这可能有所不同,具体取决于相关控件是否将 StandardDoubleClick 样式位设为 true,设置为false时,DoubleClick事件不可用)
- MouseDoubleClick 事件
- MouseUp 事件
下列控件不符合标准的鼠标单击事件行为:
Button、CheckBox、ComboBox 和 RadioButton 控件
其他关于Click和DoubleClick->戳