2011-06-01 92 views
0

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

回答

0
  1. 嘗試像文本改變或內容改變等覆蓋它清除自身的內容找到在狀態本身的事件。

  2. 您可以編寫代碼來清除控件容器更改事件上的狀態欄內容。

它是您的選擇。

0

您可以將消息放在控件的Tag屬性中,並使用一個常見事件將它們全部添加。

如果你想要更有序,你可以使用自定義屬性對複選框進行子類化。

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