首页 新闻 搜索 专区 学院

wpf怎么获取光标所在控件名称,button按钮向所在控件赋值

0
悬赏园豆:10 [已解决问题] 解决于 2018-06-06 17:45

wpf怎么获取光标所在控件名称,button按钮向所在控件赋值

南宫峻的主页 南宫峻 | 初学一级 | 园豆:93
提问于:2018-06-05 10:35
< >
分享
最佳答案
0

你需要监听button的PreviewGotKeyboardFocus事件,在这个事件处理函数中拿到Keyboard.FocusedElement并变量保存,然后在button的Click事件中就可以使用该变量了,代码大概类似如下:

        private IInputElement focusedControl;

        private void btn_Click(object sender, RoutedEventArgs e)
        {
            if(focusedControl != null && focusedControl is TextBox)
            {
                TextBox tb = (TextBox)focusedControl;
                tb.Text = DateTime.Now.ToString();
            }
        }

        private void btn_PreviewGotKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e)
        {
            focusedControl = Keyboard.FocusedElement;
        }
收获园豆:10
jello chen | 大侠五级 |园豆:7096 | 2018-06-05 21:08

提示局部变量“focusedControl”在声明之前无法使用啊

南宫峻 | 园豆:93 (初学一级) | 2018-06-06 08:55

为什么focusedControl这个没法用啊 请问

南宫峻 | 园豆:93 (初学一级) | 2018-06-06 11:52

@南宫峻: 看示例代码最上面的变量声明,你应该是漏了

jello chen | 园豆:7096 (大侠五级) | 2018-06-06 13:22

@jello chen: 有声明啊 但就是不知道为什么提示局部变量“focusedControl”在声明之前无法使用啊

南宫峻 | 园豆:93 (初学一级) | 2018-06-06 14:03

@jello chen: 看这个

南宫峻 | 园豆:93 (初学一级) | 2018-06-06 14:05
其他回答(1)
0

IInputElement focusedControl = Keyboard.FocusedElement;

爱编程的大叔 | 园豆:30748 (高人七级) | 2018-06-05 11:22

这是获取点击的button控件

我想控件上有几个texbox,然后点击button在光标所在的texbox控件上赋值

支持(0) 反对(0) 南宫峻 | 园豆:93 (初学一级) | 2018-06-05 11:26

这样要怎么处理啊

支持(0) 反对(0) 南宫峻 | 园豆:93 (初学一级) | 2018-06-05 11:32

@南宫峻: 点击button的时候,光标不就离开textbox了吗?你要实现什么需求?也许可以换个方法实现

支持(0) 反对(0) 会长 | 园豆:9565 (大侠五级) | 2018-06-05 18:27
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册