C#:确定下一次点击不在一个或多个确定位置时会发生什么

问题描述

我有一个隐藏的 StackPanel(sp1),当我按下 Button(btn1) 时,StackPanel 变得可见,并且它自己填充了一些相同类型的 UserControl(ctrl1),每个 UserControl 都有一个 Button ( btn2) 和另一个 UserControl(ctrl2),封装在 (ctrl1) 的设计器中,在 ctrl2 中还有另一个 Button(btn3)。

现在,我想要做的是,如果我单击 sp1 内的一个元素,我想为每个按钮获取某个事件,但是如果我单击 sp1 外的某个地方,我希望 sp1 消失或清除..

我正在寻找一种方法来建立这种条件:

if(!(Clicked.Parent==sp1))
{
 sp1.Clear();
}

简而言之,我希望得到与在 Facebook 上收到包含所有好友请求的通知列表时完全相同的结果。

我尝试使用 LostFocus 但它不让我按下我想要的按钮,因为它在单击之前将其设置为隐藏,我尝试使用 GotFocus 而不是 Click 事件,但它仅适用于 btn2,btn3 是太远了,没有按时到达。

有没有什么流畅干净的方法来实现这个目标?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...