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->戳

本文介绍了Windows Forms中的Button控件,包括命名空间`System.Windows.Forms`和其继承结构。重点讲解了Button的常用属性如FlatStyle、ForeColor、Image、ImageAlign和TextAlign,以及点击事件`buttonClick`。此外,还展示了如何创建两种状态的Button,并通过设置FlatStyle去除边框。同时提到了`DialogResult`属性和AcceptButton/CancelButton的使用,以及Button与其他控件的交互事件。最后,讨论了单击和双击事件的触发顺序及其在不同控件中的行为差异。
1150

被折叠的 条评论
为什么被折叠?



