2017-04-23 84 views
-1

C# Windows桌面應用程序,我需要做這樣一個Popup login window彈出登錄窗口中打開一個新的窗口上的父窗口的中間。如何在C#

當我嘗試這個時,我沒有做出像這個登錄窗口。如果我這樣做一個窗口,彈出窗口打開不同的時間不同的位置。

我需要孩子(的意思是登錄窗口)在父窗口的頂部打開,並且此窗口必須是不可移動的,同時父窗口不可訪問直到我關閉子窗口。

回答

1

試試這個代碼

<Grid x:Name="grdOverlay" Panel.ZIndex="1000" Visibility="Visible" KeyDown="grdOverlay_KeyDown"> 
       <Grid.Background> 
        <SolidColorBrush Color="Black" Opacity=".5"/> 
       </Grid.Background> 
    </Grid> 
+0

它是一個桌面應用程序 – Nofuzy

+0

確定..對不起,我想我WPF將是一個 –

0

如果Windows窗體應用程序,您可以設置通過設置`form.StartPosition」開始您的窗體的位置。例如給予here

Form.StartPosition可以通過任意值FormStartPosition枚舉設置,描述here

0

比方說,你的孩子形式命名childForm。

去你childForm設計和properties找到StartPosition和它的值改爲CenterScreen。它會導致加載你的表格始終在屏幕中心。

2.爲使其不可移動,在屬性中,將FormBorderStyle更改爲none。在這種情況下,你需要創建一個關閉按鈕爲您的登錄表單,並在其on click事件,你應該使用此代碼:

this.Close(); 

3.從主窗體,你應該使用ShowDialog其原因打開你的登錄表單您的主表單在您的登錄表單打開時無法訪問。

childForm login = new childForm(); 
login.ShowDialog(); 
+0

我不想打開窗口的中間檢查,我想在一個窗口的中間打開。那留在彈出窗口後面.. –

+0

這將是非常困難的代碼。你必須得到上一個窗口的大小和位置,然後計算登錄表單的位置,使其位於中間。 – Nofuzy