sınırları içinde olup olmadığını bir üst formda yer alan kullanıcı denetimi üzerinde yüzer zaman bir kullanıcı denetimiimleç kontrolü
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;
}
}
var Algılama, kesme isabet değil. Kesme noktası yakınlarda vuruldu, ancak kullanıcı kontrolünde gerçek bir metin kutusunda olabilir ve bir isabet alamıyorum. Bu kullanıcı kontrolünün sınırları dahilinde olup olmadığımı nasıl doğru bir şekilde belirleyebilirim?
FWIW, İki monitörüm var. Kullandığım monitörde bir fark yaratıyor görünmüyor.
[WinForm denetim üzerinde İmleç (C#, WinForm 4.0)] muhtemel yinelenen (http://stackoverflow.com/questions/5620276/cursor-over-winform-control-c-winform-4-0) –
@ DanielA.White Bağlantınızda gördüğüm cevaplar tek bir kontrole özgüdür. Burada genel bir mesaj filtresine bağlandığımı unutmayın. Bunun işe yaramayacağını düşünmüyorum. Sonunda, sadece çocuk kontrollerini içeren genel kullanıcı kontrolünü değil, farenin hangi kontrolün bittiğini bilmem gerekiyor. –