1、通过设置AutoSize(bool)属性来控制按钮的大小以适应文本的长度

btn_One.AutoSize = true;//设置按钮基于内容自动调整大小

2、当按钮得到焦点是自动放大,失去焦点时自动缩小

       private void button1_MouseEnter(object sender, EventArgs e)
{
button1.Location = new Point(, );//设置按钮位置
button1.Font = new Font("隶书", );//设置按钮字体样式
button1.Width = ;//设置按钮宽度
button1.Height = ;//设置按钮高度
} private void button1_MouseLeave(object sender, EventArgs e)
{
button1.Location = new Point(, );//设置按钮位置
button1.Font = new Font("宋体",);//设置按钮字体样式
button1.Width = ;//设置按钮宽度
button1.Height = ;//设置按钮高度
}

3、制作跑动的按钮,使用Trimer组件间隔性的更改按钮的位置

4、根据需要生成Button按钮

            Random G_Random=new Random();
Button bt = new Button()//创建按钮对象
{
Text = "动态生成按钮",//设置按钮的文本信息
ForeColor = Color.FromArgb(//设置按钮的前景颜色
G_Random.Next(, ),
G_Random.Next(, ),
G_Random.Next(, )),
AutoSize = true,//设置按钮自动调整大小
Location = e.Location//设置按钮位置
};
Controls.Add(bt);//将按钮加入控件集合

所有窗体控件都继承于Control类,所以所有窗体控件都可以使用Control集合的Add方法动态地将控件添加到窗体上

 Button In WPF

普通

<Button Name="btnTest" Width="120" Height="36" Margin="10,10" HorizontalAlignment="Left">
你好
</Button>

文本为一个形状

<Button Name="btnTest" Width="120" Height="36" Margin="10,10" HorizontalAlignment="Left">
<Button.Content>
<Rectangle Fill="LightBlue" Width="90" Height="28">
</Rectangle>
</Button.Content>
</Button>

文本为一张图片

<Button Name="btnTest" Width="120" Height="36" Margin="10,10" HorizontalAlignment="Left">
<Button.Content>
<Image Source="image/img-mytest.jpg"></Image>
</Button.Content>
</Button>

图片和文字都有

<Button Name="btnTest" Width="360" Height="360" Margin="10,10" HorizontalAlignment="Left">
<StackPanel>
<Image VerticalAlignment="Top" Source="image/img-mytest.jpg"/>
<TextBlock Text="点击试试" HorizontalAlignment="Center"/>
</StackPanel>
</Button>

两个有趣的属性

IsDefault,按钮会成为默认按钮

IsCancel,按钮会成为窗体的取消按钮

<Button Name="BtnText" IsCancel="True" Width="120" Height="36" Click="BtnText_OnClick">IsCancel</Button>
<Button Name="BtnText2" IsDefault="True" Width="120" Height="36" Margin="5" Click="BtnText2_OnClick" >IsDefault</Button>
        private void BtnText_OnClick ( object sender, RoutedEventArgs e )
{
MessageBox.Show("你触发了IsCanel按钮");
} private void BtnText2_OnClick ( object sender, RoutedEventArgs e )
{
MessageBox.Show("你触发了IsDefault按钮");
}

ToggleButton控件和RepeatButton控件

ToggleButton类:该类表示具有两个状态的按钮(按下状态和未按下状态)。当单击按钮时,他会保持按下状态,知道再次单击该按钮以释放它为止,有人称其为“粘贴单击”行为,这个控件一般情况下不单独使用,用于构建更加强大的CheckBox和RaddioButton类。

RepeatButton类:只要按钮保持按下状态,该类就不断触发Click事件,对于普通的按钮,用户每次单击只触发一个Click事件

ToolTip

<Button Name="BtnText2" ToolTip="你好啊" Click="BtnText2_OnClick" >IsDefault</Button>
ToolTipService.SetInitialShowDelay ( BtnText2, 3000 );
<Button ToolTip="fafdsafa" ToolTipService.InitialShowDelay="1000"></Button>

Button控件的更多相关文章

  1. [原创]在Framelayout中放置button控件出现的覆盖问题

    android Framelayout(帧布局)是很常用的布局,主要用来处理需要多个view叠加显示的情况. 然而在使用中,我发现Framelayout中的Button控件,会挡住所有其他控件,而不论 ...

  2. asp.net动态生成按钮Button控件

    1.动态生成button控件及响应服务端和客户端事件 void BindButtons(){ foreach (var item in items) { Button Btn = new Button ...

  3. WPF--Blend制作Button控件模板--问题补充

    补充记录Button控件模板 控件模板制作过程中出现下图问题:动画对象不能用于动画属性"Fill” 并且这类问题Blend4中包括VS2010中仍然可以运行,但是只有VS2010中会报错:如 ...

  4. WPF--Blend制作Button控件模板

    博客园新人,WPF初学者.不涉及理论知识,直接进入操作. 记录一下使用Blend制作Button控件模板过程中,学到Blend几个知识点: 1.渐变画笔编辑器的Alpha选项可以调控件的透明度.即下图 ...

  5. C# Windows - Button 控件

    .Net Framework提供了一个派生于Control的类System.Windows.Forms.ButtonBase,它实现了Button控件所需的基本功能. System.Windows.F ...

  6. JS 获取Button控件的提交类型

    <script type="text/javascript"> <!--获取button控件的类型---> function isAuditOrCancel ...

  7. extjs的button控件fireEvent('click')无效问题

    extjs的button控件fireEvent('click')无效问题 2012-06-06 16:39 891人阅读 评论(0) 收藏 举报 extjsbuttoncallbackfunction ...

  8. listView中的button控件获取item的索引

    在listview中的listitem设置事件响应,如果listitem中有button控件,这时候listitem就不会捕获到点击事件,而默认的是listitem中的button会捕获点击事件.那么 ...

  9. WPF 自定义Button控件及样式

    这次通过最近做的小例子说明一下自定义Button控件和样式. 实现的效果为:

  10. UGUI Button控件

    今天一起来学习下Button控件, Button控件其实是由Text,Button,Image组件形成的. 这里就简单介绍下Button组件 Interactable: 代表该组件是否进行交互, 我们 ...

随机推荐

  1. POJ 3074 Sudoku (DLX)

    Sudoku Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit Statu ...

  2. hdu 4635 强连通度缩点

    思路:想用Tarjan算法进行缩点,并记录每个连通分支的点数.缩点完毕过后,找出所有出度或入度为0的连通分量,假设该连通分量的点数为num[i],那么 ans=Max(ans,(n-num-1)*(n ...

  3. poj 3164 最小树形图

    思路:就是裸的最小树形图~ #include<iostream> #include<cstdio> #include<cstring> #include<cm ...

  4. iOS下获取用户当前位置的信息

    #import <MapKit/MKMapView.h> @interface ViewController (){ CLLocationManager *_currentLoaction ...

  5. 浅谈MapControl控件和PageLayoutControl控件

    1.MapControl控件是ArcObject(ArcEngine)中使用非常普遍的一个控件,它对应ArcMap中的DataView视图.MapControl控件实现的功能: 1)管理控件的外观.显 ...

  6. Codevs 2307[SDOI2009]HH的项链

    同题:     Codevs 2307 HH的项链     BZOJ    1878 HH的项链     洛谷      1972 HH的项链 2009年省队选拔赛山东  时间限制: 1 s  空间限 ...

  7. 省市联动Demo

    <!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head><meta ...

  8. Sqlite官方下载对应版本注意细节

    官网下载地址: http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki 下载注意事项: 1.对应.net平台 2.对 ...

  9. JMS - 事务性消息

    JMS 事务遵从发送操作与接收操作相互分离的约定.下图显示的是一个事务性发送,其中一组消息要么能够保证全部到达消息服务器,要么连一条消息也不能保证到达消息服务器.从发送者的角度来看,JMS 提供者为这 ...

  10. 数据库SQL优化大总结之百万级数据库优化方案

    网上关于SQL优化的教程很多,但是比较杂乱.近日有空整理了一下,写出来跟大家分享一下,其中有错误和不足的地方,还请大家纠正补充. 这篇文章我花费了大量的时间查找资料.修改.排版,希望大家阅读之后,感觉 ...