сенсорный экран очистить сообщение о состоянии на любом прикосновении - PullRequest
0 голосов
/ 01 июня 2011

Я работаю над формой окон с сенсорным экраном, которая имеет много флажков, текстовых полей, списков, выпадающих списков даты и т. Д. В зависимости от действий пользователя внизу отображается сообщение о состоянии. Например, Ваш профиль успешно сохранен, С и до даты не могут быть одинаковыми, Пожалуйста, выберите действительный ... и т. Д.

Какой элегантный способ очистить сообщение о состоянии на ЛЮБОМ прикосновении.

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

Это означает, что если установлен какой-либо флажок, любой текст вводится в текстовое поле, выбирается любой список или комбинированный список ... тогда я хочу очистить метку состояния. Таким образом, последнее сообщение о состоянии не «залипает», чтобы запутать пользователя Я выискиваю вокруг, чтобы посмотреть, смогу ли я переопределить какое-либо событие на уровне формы в одном месте, которое сделает это.

спасибо


Спасибо Сараванану и Педери за ваши предложения. Они не решают мою проблему. Я только что обнаружил расширения Reactive и опубликовал соответствующий вопрос, который может мне помочь. Обнаружение щелчка левой кнопкой мыши по winform с использованием реактивных расширений IObservable для событий

Ответы [ 3 ]

0 голосов
/ 02 июня 2011

Вы можете поместить сообщение в свойство тега элемента управления и использовать одно общее событие, чтобы добавить их все.

Если вы хотите быть более упорядоченным, вы можете создать подкласс флажка с помощью настраиваемого свойства.способ.

0 голосов
/ 10 июня 2011

Это было решением моей проблемы

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);
}
0 голосов
/ 01 июня 2011
  1. Попробуйте найти событие в самой строке состояния, например, текст изменился или изменилось содержимое и т. Д. Переопределите его, чтобы очистить само содержимое.

  2. Вы можете написать код для очистки содержимого строки состояния в событии изменения контейнера элемента управления.

Это ваш выбор.

...