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. Android ExpandableListView的技巧和问题

    前言: 最近一个多月在认真的学习Android和做项目,文章内容表达的不好或者理解错了,希望大家评论指出. :-) 本文是总结几个比较常用且使用的技巧,和一个大家都会遇到的问题. 文章中大部分语句摘抄 ...

  2. 配置hibernate例子

    一.hiberbate.cfg.xml <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hib ...

  3. zlib导致Ubuntu登录管理器失效

    ubuntu版本:10.04 现象:开机之后无法启动登录管理器. 原因:zlib与登录管理器冲突. 解决:卸载zlib.

  4. CF Drazil and Factorial (打表)

    Drazil and Factorial time limit per test 2 seconds memory limit per test 256 megabytes input standar ...

  5. [改善Java代码]使用forName动态加载类文件

    动态加载(Dynamic Loading)是指在程序运行时加载需要的类库文件,对Java程序来说,一般情况下,一个类文件在启动时或首次初始化时会被加载到内存中,而反射则可以在运行时再决定是否需要加载一 ...

  6. 【数论,思路】HDU-5288;多校#1-1001

    2015 Multi-University Training Contest 1  1001 /* Problem: HDU-5288,多校#1 1001 Tips: 数学.思路 Date: 2015 ...

  7. poj 2823 单调队列

    思路:裸的单调队列. #include<iostream> #include<cstring> #include<cstdio> #include<algor ...

  8. web项目的两个创建形式website和webapplication(转)

    前言 在利用VS2010创建web项目的时候,会有两个选择.可以选择直接创建website网站,还可以选择使用 webapplication应用程序.刚刚接触web开发,看到这两个就疑惑了,既然是都可 ...

  9. popViewControllerAnimated 后,对页面内UITableView 内数据刷新

    popViewControllerAnimated后,这时它不执行viewDidLoad,所以不能及时对viewControler及时刷新,此时对该页面进行操作可以调用viewWillAppear:( ...

  10. js(jQuery)获取时间搜集

    获取JavaScript 的时间使用内置的Date函数完成 var mydate = new Date(); mydate.getYear(); //获取当前年份(2位) mydate.getFull ...