Я могу установить бесконечный AutoPopDelay для подсказки в окне Windows Forms.NET?

Если я правильно понимаю ваши вопросы, вы захотите сделать что-то вроде этого:

Геопространственные запросы к репозиторию (не требует аннотации @Query)

public interface PersonRepository extends JpaRepository
List findByLocationNear(String location, Integer distance);
List findByCity(String city);
}

[115 ] Однако вы также можете использовать JQL Query Methods в вашем хранилище

@Query("SELECT p FROM Person t WHERE p.name =?1 AND p.location=?2 ") 
List findPersonByLocation(String fName, String location);

Также вы можете использовать HQL

8
задан Peter Mortensen 5 May 2015 в 08:43
поделиться

6 ответов

Это не будет ответом, который вы хотите услышать ... Бросьте свой. Однажды у меня был сценарий, в котором я хотел смоделировать поведение всплывающей подсказки панели инструментов Office для команд клавиш быстрого доступа, и я обнаружил, что стандартный API-интерфейс всплывающей подсказки слишком ограничен.

Создайте небольшой, простой и не имеющий границ экземпляр формы для каждого элемента управления, который вам нужна подсказка для. Затем покажите и скройте их немодально, как вы делаете событие mouse-enter или -leave. Попросите конструктор этого окна получить экземпляр элемента управления пользовательского интерфейса и позволить ему запрашивать у элемента управления его события, чтобы он мог присоединиться к событиям mouse-enter и -leave, чтобы вам не пришлось связывать их вручную.

1
ответ дан 5 December 2019 в 05:34
поделиться

Установите для присоединенного свойства ToolTipService.ShowDuration значение int.MaxValue:

<Button 
  Height="23" Width="75"
  Content="Click Me" 
  ToolTip="My ToolTip" ToolTipService.ShowDuration="2147483647" 
/>
-1
ответ дан 5 December 2019 в 05:34
поделиться

Метод ToolTip.StopTimer может помочь. Из MSDN:

Класс ToolTip имеет внутренний таймер, который он использует для установки длительности отображения всплывающих подсказок. Длительность, связанная с этим таймером, задается через свойство AutoPopDelay. Метод StopTimer останавливает этот внутренний таймер, вызывая модальное отображение любой отображаемой всплывающей подсказки, пока метод Hide не будет вызван , или родительская форма не будет свернута, скрыта или закрыта.

-1
ответ дан 5 December 2019 в 05:34
поделиться

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

Я также написал рекурсивную функцию для добавления событий мыши к каждому элементу управления ярлыком (единственному, на котором у меня есть всплывающие подсказки), поэтому мне не нужно было вручную настраивать его и не нужно было помнить об этом, когда я добавить новый ярлык. Новые разработчики проекта могут никогда не понять, что элемент управления всплывающей подсказки на самом деле не отображает подсказки.

Почему метка на панели? - так что действительно большие всплывающие подсказки могут прокручиваться - хотя это все еще плохо работает.

Это не очень красиво, и я все еще ищу хороший ответ, если у вас есть (или критику метода, который я использовал).

Я наткнулся на http://www.binarymission.co.uk/ , но их всплывающая подсказка не отображалась должным образом в моем приложении .NET 3.5. Я все еще разговариваю с ними.

1
ответ дан 5 December 2019 в 05:34
поделиться

Попробуйте myToolTip.ReshowDelay = 0 .

Вы просто повторно показываете всплывающую подсказку сразу после истечения ее задержки. У меня это сработало.

2
ответ дан 5 December 2019 в 05:34
поделиться

Я искал решение проблемы.

  1. Всплывающее окно исчезает слишком быстро, не позволяя мне прочитать его содержимое.
  2. Всплывающее окно больше не появляется при наведении курсора на него. область.

Я нашел на форумах следующий ответ, который не решает проблему 2, но позволяет мне читать текст дольше необходимого времени, когда я устанавливаю его значение на 32766 и, таким образом, в моем мнение - своего рода «обходной путь»:

На самом деле, я обнаружил, что моя проблема заключалась в том, что я присвоил значение выше 32767 (32768 и выше будут иметь эффект 5 секунд) странно, поскольку AutoPopDelay должен принимать целое число (32 бита) как параметр, а 32767 на самом деле 16-битный со знаком ...

Но я должен признать, что это все равно отстой ...

Но установка его на 32000 (32 секунды), кажется, работает лучше . Понятия не имею, почему это так, но, может быть, это кому-то поможет.

11
ответ дан 5 December 2019 в 05:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: