メインメニューを開く

差分

Xamarin.MacのNSViewでMouseMovedイベントなどを発生させる

282 バイト追加, 2017年12月21日 (木) 07:20
</source>
これらのイベントを発動するにはNSViewのAddTrackingAreaメソッドで事前に「どの範囲で取るか」という指定をする必要がある。これらのイベントが発動するようにするにはNSViewのUpdateTrackingAreasメソッドをオーバーライドして、AddTrackingAreaメソッドで事前に「どの範囲で取るか」を明示的に指定をする。
<source lang="csharp">
NSTrackingArea _trackingArea;  public override void InitializeUpdateTrackingAreas()
{
var trackingArea if (_trackingArea != null) { this.RemoveTrackingArea(_trackingArea); }  _trackingArea = new NSTrackingArea( rect: this.Bounds,
options: NSTrackingAreaOptions.ActiveAlways |
NSTrackingAreaOptions.InVisibleRect |
NSTrackingAreaOptions.MouseEnteredAndExited |
NSTrackingAreaOptions.MouseMoved,
owner: this, userInfo: null); this.AddTrackingArea(trackingArea_trackingArea);  base.UpdateTrackingAreas();
}
</source>
匿名利用者