触摸屏上的触摸屏清除状态消息

时间:2011-06-01 18:09:48

标签: c# winforms user-interface user-controls touchscreen

我正在使用触摸屏窗体,其中包含许多复选框,文本框,列表框,日期下拉选取器等。根据用户操作,状态消息显示在底部。例如,您的个人资料已成功保存,起始日期不能相同,请选择有效的...等等

在任何触摸屏上清除状态信息的优雅方式是什么。

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

意思是如果选中任何复选框,则在文本框中输入任何文本,选择任何列表框或组合...然后我想清除状态标签。这样,最后的状态消息不会“粘住”以使用户迷惑。我正在四处寻找,看看我是否可以在一个可以执行此操作的地方覆盖表单级别的某些事件。

感谢


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

3 个答案:

答案 0 :(得分:0)

  1. 尝试在状态栏中找到一个事件,例如更改文本或更改内容等。覆盖它以清除其内容。

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

  3. 这是你的选择。

答案 1 :(得分:0)

您可以将消息放入控件的Tag属性中,并使用单个公共事件将它们全部添加。

如果你想要更有秩序,你可以用同样的方式将复选框与自定义属性子类化。

答案 2 :(得分:0)

这是我的问题的解决方案

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);
}