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. use selenium in scrapy webdriver

    https://pypi.python.org/pypi/selenium from selenium import webdriver from selenium.webdriver.common. ...

  2. Java二叉搜索树实现

    树集合了数组(查找速度快)和链表(插入.删除速度快)的优点 二叉树是一种特殊的树,即:树中的每个节点最多只能有两个子节点 二叉搜索树是一种特殊的二叉树,即:节点的左子节点的值都小于这个节点的值,节点的 ...

  3. [改善Java代码]多种最值算法,适时选择

    建议64:多种最值算法,适时选择. 对一批数据进行排序,然后找出其中的最大值或最小值,这是基本的数据结构知识.在Java中我们可以通过编写算法的方式,也可以通过数组先排序再取值的方式来实现.下面以求最 ...

  4. 关于JDK中的设计模式

    结构型模式: 适配器模式: 用来把一个接口转化成另一个接口. java.util.Arrays#asList() javax.swing.JTable(TableModel) java.io.Inpu ...

  5. C++STL学习笔记_(4)queue

    10.2.5Queue容器 Queue简介 ²  queue是队列容器,是一种"先进先出"的容器. ²  queue是简单地装饰deque容器而成为另外的一种容器. ²  #inc ...

  6. 【AngularJs】---"Error: [ng:areq] Argument 'fn' is not a function, got undefined"

    项目中把controller.service抽取出来 一步一步没有报错 index那里加 <script src="js/controllers/XXController.js&quo ...

  7. 【转载】Android推送方案分析(MQTT/XMPP/GCM)

    http://m.oschina.net/blog/82059 本文主旨在于,对目前Android平台上最主流的几种消息推送方案进行分析和对比,比较客观地反映出这些推送方案的优缺点,帮助大家选择最合适 ...

  8. SQL语句添加,删除主键

    IF EXISTS (SELECT * FROM sys.all_objects  WHERE  type_desc= N'主键名')begin --删除主键 alter table 表名 drop ...

  9. Android drawable xml 各种小知识

    摘抄自网络. 圆角或者各种变种背景, <?xml version="1.0" encoding="utf-8"?> <shape xmlns: ...

  10. [C#]Winform下回车或Tab键自动切换下一个控件焦点

    满足用户体验,在数据录入时,能在输入完一个信息后通过回车或Tab键自动的切换到下一个控件(字段). 在界面控件设计时,默认可以通过设置控件的TabIndex来实现.但在布局调整时或者是对输入的内容有选 ...