触摸屏任何触摸都会清除状态消息

发布于 2024-11-11 17:34:30 字数 628 浏览 2 评论 0原文

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

什么是在任何触摸时清除状态消息的优雅方法。

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

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

感谢


Saravanan 和 Pedery 的建议。他们没有解决我的问题。我刚刚发现了反应式扩展并发布了一个可能对我有帮助的相关问题。 鼠标左键单击在winform上检测使用事件响应式扩展 IObservable

Iam working on a touch screen windows form that has many checkboxes, textboxes, listboxes, date dropdown pickers etc. Depending on user action a status message is displayed at the bottom. For eg., Your profile saved successfully, From and to date cannot be same, Please select a valid ... etc

What is an elegant way to clear the status message on ANY touch.

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

Meaning if any checkbox is checked, any text is input in a textbox, any listbox or combo is selected...then I want to clear the status label. This way the last status message does not "stick" to confuse the user. I am poking around to see if I can override some event at the form level in one place that will do this.

thanks


thx Saravanan and Pedery for your suggestions. They do not solve my problem. I just discovered Reactive extensions and posting a related question which may help me. Left mouse button click detect on winform using Reactive extensions IObservable on events

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

半仙 2024-11-18 17:34:30
  1. 尝试在状态栏本身中查找事件,例如文本更改或内容更改等。覆盖它以清除其自身的内容。

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

这是你的选择。

  1. Try to find an event in the statusbar itself like text changed or content changed etc. Override it to clear the content of itself.

  2. You may write code to clear the status bar content on the change event of the control's container.

Its your choice.

離殇 2024-11-18 17:34:30

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

如果您想更加有序,您可以以相同的方式使用自定义属性对复选框进行子类化。

You can put the message in the controls' Tag property and use a single common event to add them all up.

If you wanna be more orderly, you can subclass the checkbox with a custom property the same way.

心舞飞扬 2024-11-18 17:34:30

这是我的问题的解决方案

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

This was the solution to my problem

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);
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文