2010-11-10 10 views
7

Chciałem wymusić wyświetlenie podpowiedzi. Na przykład mam metodę, która sprawdza poprawność pola. Jeśli pole nie może być zatwierdzone, mam to wyczyszczenie pola i zaznaczenie go kolorem czerwonym. Chciałbym też, aby wyskoczyła na niego etykietka z informacją, że wartość jest nieprawidłowa. czy tak jest i może kontrolować czas wyświetlania podpowiedzi? Im nie widzę żadnej właściwości tooltip w intellisenseC#: czy istnieje sposób na wymuszenie wyświetlania podpowiedzi?

EDYCJA: Widzę to teraz. Ale jak sprawić, by pojawił się sam, a po najechaniu kursorem myszy?

+2

WinForm? WPF? Coś innego? –

+0

gdzie chcesz, żeby pojawił się pop? Etykiety narzędzi pojawiają się po najechaniu kursorem ... jeśli chcesz, aby zawsze był obecny, prawdopodobnie chcesz, aby na ekranie pojawił się inny element. Bo będziesz musiał ustawić swoją pozycję na ekranie. – Mulki

+1

Po prostu chcę, aby pojawił się w normalnym miejscu, tuż obok kontrolki. wyskakuj i pokaż kilka sekund – Sinaesthetic

Odpowiedz

16
"Jeśli pole nie może zostać zatwierdzone, mam wyczyszczenie tego pola i zaznaczenie go na czerwono. Chciałbym również, aby pojawiło się na nim okno z informacją, że wartość jest nieprawidłowa."

Z opisu zachowania, które chcesz, wydaje się, że najlepiej jest być obsługiwanym przez składnik ErrorProvider, a nie podpowiedź. Komponent ErrorProvider automatycznie umieścić ikonę podać obok kontroli, że nie powiodła się i wyświetli podpowiedź dla użytkownika opisujący błąd sprawdzania poprawności i/lub kroków niezbędnych do podjęcia to poprawić:

ErrorProvider component in action

Istnieje próbka dostępna pod numerem C# Corner, ale jest bardzo prosta w implementacji. Wystarczy dodać składnik ErrorProvider do formularza (jest domyślnie dostępne w pasku narzędzi), a następnie w sposób walidacji napisać następujący kod:

private void ValidateName() 
{ 
if (string.IsNullOrEmpty(NameTextBox.Text)) 
    { 
      //Validation failed, so set an appropriate error message 
      errorProvider.SetError(NameTextBox, "You must enter your name"); 
    } 
    else 
    { 
      //Clear previous error message 
      errorProvider.SetError(NameTextBox, string.Empty); 
    } 
} 
0

Here masz przykład. Zagraj z właściwościami podpowiedzi, a podpowiedź pojawi się, jak chcesz.

Masz metodę Show na etykiecie narzędzia.

Uwaga: .net 2.0 wersja

+0

ok, więc mam to ustawić właściwości. ale brakuje mi tego, jak sprawić, by wyświetlał się automatycznie, a nie tylko po najechaniu myszą – Sinaesthetic

0

Jest to aplikacja winforms ... jeśli tak Check here

Jeśli jej aplikacja web ASP.NET ... można dodać pole o nazwie tooltip

3

Spróbuj tego:
zasadniczo

private void button1_Click(object sender, EventArgs e) 
{ 
    ToolTip toolTip1 = new ToolTip(); 
    toolTip1.Title = "Invalid entry"; // Title to display. 
    toolTip1.Show("Please enter a number.", textBox1); // Message of the toolTip and to what control to appear. 
} 

Ale istnieje 5 innych przeciążenia dla podpowiedzi. Możesz go zobaczyć here.

Powiązane problemy