Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用键盘快捷键时控制焦点丢失事件 对于.NETWINFALS和Windows演示文稿基础,如果我有一个文本框,用户刚刚输入了文本,还有一个按钮,如果用户点击按钮,“LoScOutlook”事件在按钮单击事件触发之前触发。但是,如果用户使用按钮的键盘快捷键(例如,按钮的文本为“&button”或“_button”,并且用户执行Alt+B),则“LostFocus”事件会在按钮单击事件后触发,这是不太有用的_.net_Events_Lostfocus - Fatal编程技术网

使用键盘快捷键时控制焦点丢失事件 对于.NETWINFALS和Windows演示文稿基础,如果我有一个文本框,用户刚刚输入了文本,还有一个按钮,如果用户点击按钮,“LoScOutlook”事件在按钮单击事件触发之前触发。但是,如果用户使用按钮的键盘快捷键(例如,按钮的文本为“&button”或“_button”,并且用户执行Alt+B),则“LostFocus”事件会在按钮单击事件后触发,这是不太有用的

使用键盘快捷键时控制焦点丢失事件 对于.NETWINFALS和Windows演示文稿基础,如果我有一个文本框,用户刚刚输入了文本,还有一个按钮,如果用户点击按钮,“LoScOutlook”事件在按钮单击事件触发之前触发。但是,如果用户使用按钮的键盘快捷键(例如,按钮的文本为“&button”或“_button”,并且用户执行Alt+B),则“LostFocus”事件会在按钮单击事件后触发,这是不太有用的,.net,events,lostfocus,.net,Events,Lostfocus,你知道合理的解决办法吗?在单击按钮之前,我们希望在LostFocus中发生各种事情。如果首先在按钮处理程序中执行此操作,会发生什么?(或者可以将按钮子类化并覆盖OnClick以“全球范围”应用此逻辑) 这能解决问题吗?如果您首先在按钮处理程序中这样做,会发生什么?(或者可以将按钮子类化并覆盖OnClick以“全球范围”应用此逻辑) 这能解决问题吗?在触发按钮逻辑之前,您可以尝试跟踪是否发生了失焦逻辑。无论如何,您不应该将代码直接放在处理程序中。你可以这样做: public partial cla

你知道合理的解决办法吗?在单击按钮之前,我们希望在LostFocus中发生各种事情。

如果首先在按钮处理程序中执行此操作,会发生什么?(或者可以将按钮子类化并覆盖OnClick以“全球范围”应用此逻辑)


这能解决问题吗?

如果您首先在按钮处理程序中这样做,会发生什么?(或者可以将按钮子类化并覆盖OnClick以“全球范围”应用此逻辑)


这能解决问题吗?

在触发按钮逻辑之前,您可以尝试跟踪是否发生了失焦逻辑。无论如何,您不应该将代码直接放在处理程序中。你可以这样做:

public partial class Form1 : Form
    {
        private Boolean _didLostFocusLogic;

        public Form1()
        {
            InitializeComponent();
        }

        private void textBox1_Leave(object sender, EventArgs e)
        {
            LostFocusLogic();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            ButtonClickLogic();
        }

        private void LostFocusLogic()
        {
            /* Do stuff */
            _didLostFocusLogic = true;
        }

        private void ButtonClickLogic()
        {
            if (!_didLostFocusLogic)
                LostFocusLogic();

            _didLostFocusLogic = false; // Reset for next time.

            /* Do stuff */
        }
    }

在触发按钮逻辑之前,您可以尝试跟踪是否发生了失焦逻辑。无论如何,您不应该将代码直接放在处理程序中。你可以这样做:

public partial class Form1 : Form
    {
        private Boolean _didLostFocusLogic;

        public Form1()
        {
            InitializeComponent();
        }

        private void textBox1_Leave(object sender, EventArgs e)
        {
            LostFocusLogic();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            ButtonClickLogic();
        }

        private void LostFocusLogic()
        {
            /* Do stuff */
            _didLostFocusLogic = true;
        }

        private void ButtonClickLogic()
        {
            if (!_didLostFocusLogic)
                LostFocusLogic();

            _didLostFocusLogic = false; // Reset for next time.

            /* Do stuff */
        }
    }