今天我们继续上一章用户要求另外一个更改,将每次按键按下都有相应的事件发生。作为程序猿我们理所当然的首先想到的就是订阅事件。

对于wpf来说,订阅事件入口定义其实是很简单,有两种方法:

 

一:

直接通过vs自带的属性功能直接添加事件入口函数名称即可:

即选中按键,在右侧工具栏属性项下选中已选择的元素事件的句柄,在Click输入事件入口函数名称:

C#编程之WPF控件开发(十二)

之后,编译器会自动为你生成一个入口函数

       private void Click_submiit(object sender, RoutedEventArgs e)
        {

        }

我们只要在其内加入我们的算法即可;

 

二:同样,为了装逼,我们也可以自己在AXML编写代码实现订阅事件:

<Button Grid.Row="2" Grid.Column="0" Name="submit" Margin="2" Click="Click_submiit" >View message</Button>

当然这一步只是定义事件函数名称,我们还需要在cs中定义我们的事件函数:

private void Click_submiit(object sender, RoutedEventArgs e)
{

}

总之,不管我们装逼还是做小白,我们的最终目的是算法。所以算法才是我们最难解决的事情。这里我们就不提用户那些奇葩的要求了。我们按我们自己的讲解的目的是订阅事件这一宗旨为出发点就好了。当然为了,完善事件处理,我们加入一个简单的算法。代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace WpfControls
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public int number = 0;
        public MainWindow()
        {
            InitializeComponent();
        }

        private void Click_submiit(object sender, RoutedEventArgs e)
        {
            firstName.Text = number.ToString();
            number++;
            lastName.Text = number.ToString();
        }

        private void Click_clean(object sender, RoutedEventArgs e)
        {
            firstName.Text = "";
            lastName.Text = "";
            number = 0;
        }
    }
}
View Code

相关文章:

  • 2022-01-22
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-10
  • 2021-08-09
  • 2022-02-05
  • 2022-01-12
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-08
  • 2021-06-29
  • 2021-09-09
相关资源
相似解决方案