Проверка на выход за границы panel

100
28 февраля 2021, 11:00

Есть у меня некая программа, в которой присутствует боковая выдвигающаяся панель. Поскольку движение панели реализовано с помощью взаимодействия timer'а (ибо пишу в C# Window Forms), то нужна проверка на выход за границы выдвигающейся панели (split_view), чтобы запустить таймер ухода панели. Проблема возникла в том, что в split_view есть еще некоторые панели (своего рода кнопки). Когда наводишь на split_view (незадействованную часть) и затем обратно на панели (кнопки), то программа считает, что курсор вышел за границы split_view и прячет ее. Вот, собственно, и вопрос: как реализовать корректную проверку? Вот код, который есть на данный момент:

// возникает, когда курсор вышел за границы split_view
private void Panel_split_MouseLeave_1(object sender, EventArgs e)
        {
                flag = false;
                keyTimer = true;
                timer1.Start();
        }
private void AddS(int x)
        {
            if(flag && keyTimer)
            {
                panel_split.Width += x;
            } else
            {
                panel_split.Width -= x;
            }
            if ((panel_split.Width <= -1) || (panel_split.Width >= 200))
            {
                keyTimer = false;
            }
            else
            {
                keyTimer = true;
            }
        }
private void Timer1_Tick(object sender, EventArgs e)
        {
            if(keyTimer)
            {
                AddS(20);
            } else
            {
                timer1.Stop();
            }
        }

Answer 1

В общем, решил пойти по пути малого сопротивления. Заменил функцию Panel_split_MouseLeave_1(...) на функцию, проверяющую наведение на главную форму, то есть правую часть программы. Если определенный boolean равен true, то запускаем таймер ухода панели, в ином случае ничего не делаем.

READ ALSO
Изменение размера спрайт скриптом

Изменение размера спрайт скриптом

Есть игровой объект , который по дефолту имеет свой нормальный размер спрайта , но после его замены он приобретает другой размерКод которым...

126
Получить объект по его string&#39;овому названию

Получить объект по его string'овому названию

У меня есть файл Resourcerexs, а также string'овое название файла

98
Win api C# Клик с удерживанием

Win api C# Клик с удерживанием

Всем привет, нужно на "Чужом" приложении кликнуть на менюВсе хорошо, но меню всплывающие и после увода курсора пропадает, а на C# после клика...

84