Получение расположения кнопки в сетке от Mousehover (C # VS)

Несмотря на то, что все вышеупомянутые ссылки заслуживают внимания, и в прошлом мне это очень понравилось, поскольку лингвист «подвергался» различным поисковым системам Lucene за последние 15 лет, я должен сказать, что разработка эластичного поиска очень быстро в Python. При этом некоторые из кодов чувствовали себя неинтуитивными для меня. Итак, я обратился к одному компоненту стека ELK Kibana с точки зрения с открытым исходным кодом и обнаружил, что в Kibana я могу с легкостью создать несколько загадочный код elasticsearch. Кроме того, я мог бы запросить запросы Chrome Sense в Kibana. Если вы используете Kibana для оценки es, это еще больше ускорит вашу оценку. То, что заняло несколько часов, чтобы работать на других платформах, работало в JSON in Sense поверх elasticsearch (интерфейс RESTful) за несколько минут в худшем случае (самые большие наборы данных); в секундах в лучшем случае. Документация для поиска elasticsearch, а также более 700 страниц, не отвечала на мои вопросы, которые обычно решались в документации SOLR или другой Lucene, что, очевидно, занимало больше времени для анализа. Кроме того, вы можете захотеть взглянуть на Агрегаты в эластичном поиске, которые вывели Faceting на новый уровень.

Большее изображение: если вы занимаетесь наукой о данных, текстовой аналитикой или вычислительной лингвистикой, у elasticsearch есть некоторые алгоритмы ранжирования, которые, похоже, хорошо внедряются в области поиска информации. Если вы используете какие-либо TF / IDF-алгоритмы, частоту текста / обратную частоту документов, elasticsearch расширяет этот алгоритм 1960-х до нового уровня, даже используя BM25, Best Match 25 и другие алгоритмы ранжирования ранжирования. Итак, если вы забиваете или ранжируете слова, фразы или предложения, elasticsearch делает этот выигрыш «на лету», без больших накладных расходов на другие подходы к анализу данных, которые занимают часы - еще одна экономия времени elasticsearch. С помощью es, сочетающего в себе сильные стороны bucketing от агрегатов с оценкой и ранжированием релевантности данных JSON в реальном времени, вы можете найти выигрышную комбинацию, в зависимости от вашего гибкого (истории) или архитектурного (использования) подхода.

Примечание. Наблюдалось аналогичное обсуждение вышеперечисленных агрегатов, но не по скоплениям и подсчету релевантности - извинения за любое перекрытие. Раскрытие информации: я не работаю на эластичность и не буду в состоянии в ближайшем будущем извлечь выгоду из их превосходной работы из-за другого архитектурного пути, если я не сделаю какую-то благотворительную работу с elasticsearch, что не будет плохой идеей

0
задан Scott Gilbertson 21 February 2019 в 04:37
поделиться

2 ответа

Есть встроенные события для обработки MouseEnter

// Wire up the MouseEnter event when creating your buttons
button.MouseEnter += button_MouseEnter;

// Method that gets called
private void button_MouseEnter(object sender, EventArgs e)
{
    var button = sender as Button;
    ShipImage1.Location = button.Location;
}

0
ответ дан Jerry 21 February 2019 в 04:37
поделиться

Если я правильно понимаю, и если вы используете Winforms, вам просто нужно подписать логику положения изображения на событие MouseMove каждой из ваших кнопок. Попробуйте следующее:

Определите этот метод в своем классе:

private void button_MouseMove(object sender, MouseEventArgs e)
{
    ShipImage1.Location = e.Location;
}

Затем в логике, отвечающей за создание экземпляра каждой кнопки, хранящейся в вашем массиве b, подпишите этот метод для события MouseMove:

...
for (int x = 0; x < 15; x++)
{
    for (int y = 0; y < 15; y++)
    {
        var myButton = new Button();

        myButton.MouseMove += button_MouseMove;

        // More awesome stuff around myButton...

        b[x, y] = myButton;
    }
}
...

Также при необходимости вы можете получить текущие координаты экранной мыши из статического свойства Form.MousePosition.

Удачи!

РЕДАКТИРОВАТЬ Или использовать вместо этого событие MouseEnter, как указано @Jerry в другом ответе, которое должно работать лучше.

0
ответ дан yv989c 21 February 2019 в 04:37
поделиться
Другие вопросы по тегам:

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