网站首页 > 基础教程 正文
Button按钮
按下汽车启动按钮,汽车发动机应声启动;按下程序界面上的按钮,相应的功能便得以实现。
不管是生产生活中的按钮,还是程序中的按钮,都是我们常用的控制设备,我们用它来发出指令,然后完成相应的功能。
我们知道,工业控制按钮有许多不同的形式和颜色,是为了区分不同的功能和作用,同样,我们也可以给WPF的按钮设置不同的外观,以使程序美观并好用。
另外,我们也知道,电路按钮本质上是一个开关,要让按钮正常发挥作用,必须把它连接在合适的电路中。同样地,要使程序中的按钮发挥作用,也必须给它做一定的处理。
这两点,通过按钮的两个方面来进行,一个就是属性,另一个就是事件。
用属性设置按钮的外观和工作模式
(1)Content :内容,即按钮的显示,可以显示简单的文本,也可以显示图片,还可以同时显示文本和图片等。如果显示简单的文本,直接给他赋值即可:
Content=“打开” 则按钮上显示“打开”二字。
如果要显示图片和文字,就要在标签之间设置内容,并将它们放在布局控件中:
<Button x:Name="ImageButton" Margin="3" HorizontalAlignment="Left">
<StackPanel Margin="1" Orientation="Horizontal" Width="620">
<Image Source="前进.bmp" Stretch="UniformToFill" Width="160"/>
<TextBlock Width="130" />
<TextBlock Text="图片按钮" Margin="1,15,1,1"/>
</StackPanel>
</Button>
注意:在这里我用了一张名为"前进.bmp"的图片,你可以换成你自己的。
(2)Background 背景色,C#代码中可用Brushes.Red等颜色为其赋值,即Background=Brushes.Red,Xaml代码中格式为Background=“Red”
(3)Foreground 前景色,即文字内容的颜色,设置方法同背景色
(4)ToolTip工具提示,鼠标光标进入按钮区域时显示的提示信息
(5)Margin外边距,按钮外边框与父控件边界的距离
(6)Padding内边距,按钮内部元素与按钮边框的距离
(7)ClickMode单击模式,即鼠标激发事件的模式,包括Hover(悬停)、Press(按下)、Release(释放),指的是Click事件激发的时机,Hover光标进入按钮即激发,Press在按钮上按下左键激发,Release按下不激发,左键抬起激发。
(8)IsDefault布尔值,若值为True,则设置该按钮为缺省按钮,按回车键即可执行。
简谈事件和事件处理程序
所谓事件,就是程序运行时发生的有意义的事情。例如,用户把鼠标指针移到了按钮上,就发生了MouseEnter 鼠标光标进入事件,如果用户在按钮上按下了左键,就发生了Click 左键单击事件,如果用户将鼠标指针移出按钮,就发生了MouseLeave鼠标离开事件。
所谓事件处理程序,就是处理事件的一个方法。就像我们接好的电路一样,没有接好的电路,按按钮就不会起作用。最简单的处理程序,就是调用消息框显示一个消息。
所谓事件关联,就是将一定的事件和一定的事件处理程序关联起来,类似于把合适的开关接到合适的电路中。
Xaml中的事件关联代码:Click="ImageButton_Click",其中ImageButton是按钮的名字,Click是事件的名字,ImageButton_Click是事件处理程序的名字。
事件处理代码,假定点击按钮后弹出一个消息框。显示“这是一个消息框”,代码如下:
private void ImageButton_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show("这是一个消息框!", "提醒", MessageBoxButton.OK, MessageBoxImage.Information);
}
其中,事件处理程序的框架
private void ImageButton_Click(object sender, RoutedEventArgs e)
{
}
是在我们双击Click事件时自动生成的,其中的执行代码
MessageBox.Show("这是一个消息框!", "提醒", MessageBoxButton.OK, MessageBoxImage.Information);
是我们自己编程实现的。
好了,按钮就先说到这里,希望你能用起来,让你的程序变得可以操控。
- 上一篇: 前端校招面试者简历这么厉害,怎么测试实力深浅?
- 下一篇: HTML DOM 事件
猜你喜欢
- 2024-11-26 51.C# Button控件
- 2024-11-26 跑马灯、滚动marqueen效果
- 2024-11-26 HTML DOM 事件
- 2024-11-26 前端校招面试者简历这么厉害,怎么测试实力深浅?
- 2024-11-26 konva系列教程4:图形属性
- 2024-11-26 强大 WebView2 + 不用写 JavaScript 的 htmx.js 「小轻快」开发桌面程序
- 2024-11-26 33-jquery移入移出事件
- 2024-11-26 【JS 无冒泡事件】JS不会冒泡的事件有哪些??
- 2024-11-26 什么是窗口子类化
- 2024-11-26 vue短文:如何在鼠标悬停在一个元素上时执行某些操作
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)