触摸屏在任何触摸上清除状态消息

问题描述:

Iam工作在触摸屏上有许多复选框,文本框,列表框,日期下拉选择器等的窗体窗体。根据用户操作,状态消息显示在底部。例如,您的个人资料已成功保存,从当前日期不能相同,请选择一个有效的...等触摸屏在任何触摸上清除状态消息

什么是优雅的方式来清除任何触摸上的状态消息。

if (statusLabel.text != string.empty) 
    statusLabel.text = string.empty) 

这意味着如果任何复选框被选中,任何文本是在文本框中输入任何列表框或组合选择...然后我要清除的状态标签。这样最后的状态信息不会“粘住”来混淆用户。我正在四处寻找,看看我是否可以在一个地方覆盖一些事件,这将会做到这一点。

感谢


THX Saravanan和Pedery您的建议。他们不能解决我的问题。我刚刚发现了Reactive扩展并发布了一个可能对我有帮助的相关问题。 Left mouse button click detect on winform using Reactive extensions IObservable on events

  1. 尝试像文本改变或内容改变等覆盖它清除自身的内容找到在状态本身的事件。

  2. 您可以编写代码来清除控件容器更改事件上的状态栏内容。

它是您的选择。

您可以将消息放在控件的Tag属性中,并使用一个常见事件将它们全部添加。

如果你想要更有序,你可以使用自定义属性对复选框进行子类化。

这是解决我的问题

protected override void WndProc(ref Message msg) 
{ 
    switch(msg.Msg) 
    { 
     case WM_LBUTTONDOWN: 
     //Do something here 
      break; 
     //add other cases if needed 

    } 

    // call the base class WndProc for default message handling 
    base.WndProc(ref msg); 
}