触摸屏清除状态信息



我正在处理一个触摸屏窗口窗体,该窗体有许多复选框、文本框、列表框、日期下拉选择器等。根据用户操作,底部会显示一条状态消息。例如,您的个人资料保存成功,起始日期和截止日期不能相同,请选择一个有效的。。。etc

什么是一种优雅的方式来清除任何触摸状态信息。

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

这意味着如果选中任何复选框,则在文本框中输入任何文本,选择任何列表框或组合。。。那么我想清除状态标签。这样,最后一条状态消息就不会"粘"住用户。我四处寻找,看看是否可以在一个地方覆盖表单级别的某个事件。

感谢


谢谢Saravanan和Pedery的建议。它们不能解决我的问题。我刚刚发现了Reactive扩展,并发布了一个相关的问题,这可能会对我有所帮助。在winform上用鼠标左键点击检测使用Reactive插件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);
}

相关内容

  • 没有找到相关文章

最新更新