СОБЫТИЕ Tooltip.popup Не стреляя с помощью Tooltip.show () в .NET FrameworkC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 СОБЫТИЕ Tooltip.popup Не стреляя с помощью Tooltip.show () в .NET Framework

Сообщение Anonymous »

У меня есть старое приложение Winforms с обычным Treeview , где мне нужно показать настраиваемые подсказки для отдельных узлов.

Код: Выделить всё

OwnerDraw=true
и isballoon = false ), и я показываю программную подсказку программно с помощью Tooltip.show () из события MouseMove TreeView . Заглушка (правильно) вычисляет и устанавливает размер всплывающего подъема событий, а обработчик Draw события (правильно) рисует подсказку. Шрифт с фиксированной шириной: Consolas, 12).
Я уже задал вопрос об этом, думая, что я делаю что-то не так, но теперь я обнаружил, что это работает нормально (для меня) с .net 8, но не с .net Framework . Я протестировал .NET Framework 4.8 (это то, что я должен использовать), 4.7.2 и 4.6.2 - всплывающее событие не запускается ни с одним из них. Событие поднимается всякий раз, когда отображается подсказка, либо с помощью явного призывания к одному из методов шоу, либо когда класс подсказки инструментов неявно отображает подсказку. Код, но в своем ответе на мой предыдущий вопрос @olivier jacot-descombes включил следующий код, который очень похож на то, как я это делаю, и это также код, который я использовал для своих тестов с тех пор: < /p>

Код: Выделить всё

public partial class FormTreeNodeToolTip : Form
{
private static readonly Font _font = new Font("Consolas", 16, FontStyle.Regular);
private TreeNode _currentNode;

public FormTreeNodeToolTip()
{
InitializeComponent();
}

private void ToolTip1_Draw(object sender, DrawToolTipEventArgs e)
{
e.Graphics.Clear(Color.LightYellow);
e.Graphics.DrawString(e.ToolTipText, _font, Brushes.Blue, e.Bounds);
}

private void TreeView1_NodeMouseHover(object sender, TreeNodeMouseHoverEventArgs e)
{
_currentNode = e.Node;
Point cursor = treeView1.PointToClient(Cursor.Position);
toolTip1.Show(e.Node.Text, treeView1, cursor.X + 20, cursor.Y + 20, 800);
}

private void ToolTip1_Popup(object sender, PopupEventArgs e)
{
e.ToolTipSize = TextRenderer.MeasureText(_currentNode.Text, _font);
}

private void TreeView1_MouseMove(object sender, MouseEventArgs e)
{
if (treeView1.GetNodeAt(e.Location) != _currentNode) {
_currentNode = null;
toolTip1.Hide(treeView1);
}
}

private void TreeView1_MouseLeave(object sender, EventArgs e)
{
toolTip1.Hide(treeView1);
}
}
Я должен добавить, что я попытался использовать различные события для отображения подсказки инструментов, настройки инструментов. Ничто из того, что я делаю, не имеет никакого значения - событие Popup все еще не стреляет. Что (во всяком случае, я могу сделать, чтобы сделать это?

Подробнее здесь: https://stackoverflow.com/questions/797 ... -framework
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • СОБЫТИЕ Tooltip.popup Не стреляя с помощью Tooltip.show () в .NET Framework
    Anonymous » » в форуме C#
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • СОБЫТИЕ Tooltip.popup Не стреляя с помощью Tooltip.show () в .NET Framework
    Anonymous » » в форуме C#
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • СОБЫТИЕ Tooltip.popup Не стреляя с помощью Tooltip.show () в .NET Framework
    Anonymous » » в форуме C#
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Я сделал программу Show Show Show Show Show Show программы TKINTER, кнопка для удаления дубликатов не работает
    Anonymous » » в форуме Python
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous
  • .NET 9 MAUI POPUP POPUP CUSTER
    Anonymous » » в форуме C#
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»