|
分類:[.NET 全般]
こんばんは。お世話になっております。
WPFで開発しています。
Windowの表示位置を、モニタの右上に表示したいのですが、WindowStartupLocationプロパティをManualに設定して、 TopプロパティとLeftプロパティを設定して実装しようと考えています。
Topは0固定でいいのですが、Windowの幅がわからないとLeftの数値が設定できないので、 WindowのLoad時に、以下のように設定しています。
private void Window_Loaded(object sender, RoutedEventArgs e) { int monitorWidth = System.Windows.Forms.SystemInformation.WorkingArea.Width;
this.Top = 0; this.Left = monitorWidth - this.ActualWidth; }
しかし、これだと、Windowの右側(Windowの1/7くらい)がモニタに表示されません。
現状、微調整のために、以下のように70のマージンを設定してなんとか実現はしていますが、 70が何なのかがわからず気持ちが悪いので、どうして上のコードではモニタの右上に表示できないのか、 原因を知っている方がいましたらご教授ください。
private void Window_Loaded(object sender, RoutedEventArgs e) { int monitorWidth = System.Windows.Forms.SystemInformation.WorkingArea.Width;
this.Top = 0; this.Left = monitorWidth - this.ActualWidth - 70; }
どうぞよろしくお願いいたします。
|