Я пытаюсь изменить свойство BackColor
элемента управления пользователя и ForeColor
ярлыка внутри него. Следующий мой код:Невозможно изменить BackColor User Control на события Mouse_Enter и Mouse_Leave
private void NRow_MouseLeave(object sender, EventArgs e)
{
BackColor = Color.White;
label1.ForeColor = Color.Black;
}
private void NRow_MouseEnter(object sender, EventArgs e)
{
BackColor = Color.Lime;
label1.ForeColor = Color.White;
}
Но его не работает. Даже я попытался добавить точку останова на строку изменения BackColor, но контроль там не доходит. Я также проверил привязку события, это нормально. Пользовательский элемент управления добавляется на панель следующим образом:
notContainer.Controls.Add(new NRow());
Я не знаю, что происходит. Пожалуйста помоги.
UPDATE:
обработчики событий прикреплены так:
this.MouseEnter += new System.EventHandler(this.NRow_MouseEnter);
this.MouseLeave += new System.EventHandler(this.NRow_MouseLeave);
Как вы прикрепляете обработчики событий к вашему UserControl? –
см. Мой обновленный вопрос. –
MouseEnter/Leave очень ненадежны для UserControl. Элементы управления внутри этого UC имеют тенденцию получать событие. Единственным достойным решением является таймер, который проверяет флажок «Cursor.Position». Проверьте [этот ответ] (http://stackoverflow.com/a/12553029/17034) –