У меня есть пользовательский элемент управления
public partial class UserControl1 : UserControl, IMessageFilter
{
public UserControl1()
{
InitializeComponent();
Application.AddMessageFilter(this);
}
public bool PreFilterMessage(ref Message m)
{
var mouseLocation = Cursor.Position;
if (Bounds.Contains(PointToClient(mouseLocation)))
{
bool aBool = true;//breakpoint
bool two = aBool;//just assignment so compiler doesn't optimize my bool out
}
if (m.Msg != 0x20a) // Scrolling Message
{
return false;//ignore message
}
return false;
}
}
Когда я плаваю над пользовательским элементом управления, содержащимся в родительской форме, точка останова не попадает. Точка останова попадает в непосредственной близости, но я могу находиться в фактическом текстовом поле внутри пользовательского элемента управления и не получать удар. Как я могу точно определить, находится ли я в пределах этого пользовательского элемента управления?
FWIW, у меня есть два монитора. Кажется, это не влияет на то, какой монитор я использую.