2010-07-26 2 views
1

У меня есть дерево с некоторыми узлами. У меня также есть панель. Я взял некоторые формы usercontrol, и я загружу эти usercontrols, когда соответствующий узел будет выбран из детского капюшона. Теперь мне нужно иметь некоторые проверки, например, если я оставил текстовое поле пустым, у меня появятся подсказки для пользователя. Предположим, что если я нажму на первый узел, у меня будет загружен пользовательский контроль. С вне давать какое-либо значение, если я ударил нормально, я буду иметь некоторые подсказки следующий alt text http://i31.tinypic.com/2iuvyo1.jpgКак скрыть подсказки инструмента

Теперь, если я выбираю второй узел из дерева еще в подсказках получать отображаемом я хотел бы, чтобы скрыть эти

alt text http://i29.tinypic.com/10nfc0o.jpg

Любая помощь, пожалуйста,


мой код ошибки подсказках увеличить программный лимит будет, как показано ниже

public class TestClass 
    { 
     public void RequiredText(TextBox txtTemp, ToolTip newtoolTip) 
     { 

      if (txtTemp.Text != string.Empty) 
      { 
       txtTemp.BackColor = System.Drawing.Color.White; 
       newtoolTip.Hide(txtTemp); 

      } 
      else 
      { 
       txtTemp.BackColor = System.Drawing.Color.Tomato; 
       newtoolTip.Show("Required", txtTemp); 
      } 
     } 
    } 

Но это было сделано в форме управления использованием.

+0

Какого типа управления вы используете для сообщений об ошибках? Контроль ErrorProvider? –

+0

Нет, я использую всплывающие подсказки, как показано на рисунке. – Dotnet

+0

Являются ли всплывающие подсказки реализованы с помощью управления всплывающей подсказкой, как показано в ссылке, приведенной в моем ответе? –

ответ

0

Получил ответ только что написал Usrcntrl_Leave события для каждого элемента управления пользователем, как

private void usrcntrlPPD_Leave(object sender, EventArgs e) 
    { 
     this.Dispose(); 
    } 

Это решило мою проблему :)

1

Я еще не овладел искусством обратного инженерного кода с экрана. Я предполагаю, что вы не распоряжаетесь предыдущим пользовательским элементом управления, когда вы выбираете новый. Позволить кончику инструмента оставаться видимым. Используйте следующий код:

private UserControl currentView; 

    public void SelectView(UserControl view) { 
     if (currentView == view) return; 
     if (currentView != null) currentView.Dispose(); 
     if (view != null) this.Controls.Add(view); 
     currentView = view; 
    } 

И вызвать SelectView() из обработчика события AfterSelect TreeView.

+0

Но подсказки не скрываются, как вы сказали – Dotnet

+0

Вам нужно будет дать минимальный намек на то, как вы показываете эти всплывающие подсказки. Я могу только догадываться, что вы используете неправильный аргумент Control в вызове ToolTip.Show(). –

Смежные вопросы