Нарисуйте гистограмму с подсказками в C#

Пример Нарисуйте простую гистограмму в C# , объясните, как нарисовать простую гистограмму. Когда вы нажимаете на панель, эта программа отображает окно сообщения, отображающее значение бара. В этом примере используется другой подход. Когда вы перемещаете мышь над панелью, программа отображает ее значение в подсказке.

Эта версия генерирует случайные данные и отображает ее по-прежнему. Единственная особенность этой части кода заключается в том, что программа теперь сохраняет преобразование, которое она использует, для рисования баров гистограммы, чтобы впоследствии использовать преобразование.

В следующем коде показан только действительно новый фрагмент кода, обработчик событий PictureBox MouseMove.

Этот код делит ширину PictureBox на число баров, чтобы определить ширину полосы. Затем он делит координату X мыши на эту ширину, чтобы увидеть, какая полоса содержит положение мыши.

Вероятность того, что ошибки округления даст бару большее число, чем количество баров (в основном, если мышь находится прямо на краю PictureBox, поэтому код сравнивает bar_number к числу баров и возвращает, если это так.

В противном случае код создает массив, содержащий точку с координатой Y, равную значению бара. Затем он использует преобразование для преобразования точки. Полученная координата Y дает верхнюю часть панели, когда она нарисована на PictureBox.

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

Источник: http://csharphelper.com/blog/2015/09/draw-a-histogram-with-tooltips-in-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)

Add a Comment

Ваш e-mail не будет опубликован. Обязательные поля помечены *