zoukankan      html  css  js  c++  java
  • WPF——执行命令清空文本框

    一、造一个窗体,在窗体里面先造一个StackPanel,然后再StackPanel里面放好按钮和文本框,注意给所有的控件和容器起名字

     <Grid>
            <StackPanel Name="Sp1" HorizontalAlignment="Left" Height="350" Margin="0" VerticalAlignment="Top" Width="525">
                <Button Name="btn1" Content="exeCommand" Height="41"/>
                <TextBox Name="TextBox1" Height="284" TextWrapping="Wrap" Text=""/>
            </StackPanel>
    
        </Grid>

    二、开始写命令 执行清空

     public partial class MainWindow : Window
        {
            public MainWindow()
            {
                InitializeComponent();
                mingling();
            }
    
            //上来需要声明并定义命令
            RoutedCommand Command = new RoutedCommand("清空",typeof(MainWindow)); //里面的两个参数第一个是名字,第二个是执行命令的类型
    
            //开始写命令函数
            public void mingling()
            { 
                //创建按钮的命令
                btn1.Command = Command;
    
                //定义快捷键
                Command.InputGestures.Add((new KeyGesture(Key.C,ModifierKeys.Alt))); //快捷键是Alt+C
    
                //指定按钮的命令目标
                btn1.CommandTarget = TextBox1;
    
                //创建命令关联
                CommandBinding cb = new CommandBinding() //CommandBinding:用于将命令和命令的安排逻辑链接起来,譬如同样的"粘贴",但粘贴文本和粘贴图片的解决逻辑是不一样的,
                {
                    Command = Command,
                };
                cb.CanExecute += cb_CanExecute; //CanExecute:当与该 CommandBinding 关联的命令启动检查以确定是否可以在命令目标上执行此命令时发生。
                cb.Executed+=cb_Executed; 
                Sp1.CommandBindings.Add(cb);
            }
    
            private void cb_Executed(object sender, ExecutedRoutedEventArgs e)
            {
                TextBox1.Clear(); //文本框清空
                e.Handled = true;//Handled:获取或设置一个值,该值指示是否处理过 KeyPress 事件。如果执行过,则为ture,否则为false
               
    
            }
    
            private void cb_CanExecute(object sender, CanExecuteRoutedEventArgs e)
            {
                if (string.IsNullOrWhiteSpace(TextBox1.Text))
                {
                    e.CanExecute = false;
                }
                else
                {
                    e.CanExecute = true;
                }
                e.Handled = true;
            }
        }

    三、点击按钮

    点击按钮前:

    点击按钮后:

  • 相关阅读:
    Oracle删除约束和主键的语句
    Tomcat启动时SecureRandom超级慢的问题
    MySQL innodb引擎下根据.frm和.ibd文件恢复表结构和数据
    ORA-00604: 递归 SQL 级别 1 出现错误 ORA-01653: 表 SYS.AUD$ 无法通过 8192 (在表空间 SYSTEM 中) 扩展
    Linux 使用pwgen命令创建随机密码
    nginx 之 proxy_pass详解
    给nginx生成自签名证书
    常见排序算法(java实现)
    浅析变量的作用域和生存周期的差别
    filter过滤器
  • 原文地址:https://www.cnblogs.com/lk-kk/p/4608860.html
Copyright © 2011-2022 走看看