精通Silverlight——12.4.2 RepeatButton按钮控件

  RepeatButton控件派生自Button控件,当鼠标按下RepeatButton时,这个控件能够不断的发送单击事件。RepeatButton的声名代码如下所示。

<uicontrol:RepeatButton Canvas.Top="20" Canvas.Left="0"  x:Name="repeatbutton"/>

RepeatButton并没有公开任何自己定义的方法,RepeatButton按钮运行时的效果如图所示。

RepeatButtonButton之间最大的不同在于当用户按下鼠标左键时,RepeatButton重复执行单击事件,而Button控件则只执行一次。

下面的示例程序中,当按着RepeatButton按钮时,矩形会不停的进行移动,从示例可以看到RepeatButton按钮的功能。

示例程序的XAML代码如下所示:

<Canvas x:Name="parentCanvas"

        xmlns="http://schemas.microsoft.com/client/2007"

        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

        Loaded="Page_Loaded"

        x:Class="ButtonDemo.Page;assembly=ClientBin/ButtonDemo.dll"        xmlns:uicontrol="clr-namespace:Silverlight.Samples.Controls;assembly=ClientBin/Silverlight.Samples.Controls.dll"

        Width="640"

        Height="480"

        Background="White"

        >

  <!--定义一个矩形-->

  <Rectangle x:Name="Rec1" Canvas.Left="100" Canvas.Top="200" Width="100" Height="100" Fill="Red"></Rectangle>

  <uicontrol:RepeatButton Canvas.Top="100" Canvas.Left="50" x:Name="repeatleft"/>

</Canvas>

代码定义了一个矩形和一个RepeatButton控件,在后置代码中,为RepeatButton添加如下所示的Click事件。

        public void Page_Loaded(object o, EventArgs e)

        {

            // Required to initialize variables

            InitializeComponent();

            repeatleft.Click += new EventHandler(button2_Click);                 

        }

        //定义RepeatButton单击事件。

        void button2_Click(object sender, EventArgs e)

        {

            //获取矩形的水平位置点。

            double cl = (double)Rec1.GetValue(Canvas.LeftProperty);              

            //将矩形位置点加加一个点。

            Rec1.SetValue(Canvas.LeftProperty,cl+1);

        }

运行这个示例程序,当鼠标按着RepeatButton不放时,矩形会不停的进行移动,如图所示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值