2013-05-10 70 views
-1

我寫了一個C#WinForms應用程序中,我測試了它在多臺PC,沒有問題的工作。當我把它安裝到我的祖母的時候,程序的頂部(包括最小化,最大化和退出按鈕)被切斷了,更糟糕的是,我無法移動窗體來顯示按鈕,因爲要移動一個程序必須點擊頂部。我試圖ALT>標籤>的舉動,但它試圖將光標定位在頂部,它不能頂起被關屏..TOP計劃開啓關閉屏幕

我不能把截圖她的PC上,現在我不要與她一起重現錯誤。你知道任何導致這種情況的方式嗎?我可以保證它不會發生在其他用戶身上嗎?

+0

嘛,哪裏是形式*應該*出現?您可以控制WinForms表單在屏幕上的顯示位置。 – svinja 2013-05-10 08:24:20

+2

你的項目的起點是什麼?您的祖母的顯示器是否適合您的應用尺寸? – Tomtom 2013-05-10 08:24:32

+0

在猜測你的應用程序打開居中屏幕和你奶奶的分辨率是小,你可以檢查窗口矩形,並使用SetWindowPos將其移至0,0,如果負y – Sayse 2013-05-10 08:29:39

回答

0

好的,我重新調整了我的應用程序和幾個控件的大小。我認爲這個bug是因爲表單大於計算機上的分辨率,並且我禁用了表單的大小調整。現在我已經在窗體上實現了控件的縮放,調整大小已啓用並且窗體顯示正確。

一切都很好,現在:d。謝謝大家的意見。

0

我做了一個小的應用程序,它顯示瞭如何將應用程序的左上角設置在屏幕的左上邊角,如果它的外屏幕。

public partial class Form1 : Form 
{ 
public Form1() 
{ 
this.InitializeComponent(); 
this.StartPosition = FormStartPosition.CenterScreen; 
this.LocationChanged += OnLocationChanged; 
} 
private void OnLocationChanged(object sender, EventArgs eventArgs) 
{ 
Screen screen = Screen.FromHandle(this.Handle); 
if (!screen.WorkingArea.Contains(this.Location)) 
this.Location = screen.Bounds.Location; 
} 
} 
+0

作爲一個說明,如果窗口邊界對於屏幕仍然過大,OP可能仍然會丟失最大化等等 – Sayse 2013-05-10 08:36:48