2014-04-01 89 views
-2

有人問我:「如何在Windows應用程序中使用C#(.Net)創建必須具有橢圓形狀的登錄表單」。我回答說他使表單背景透明,並將橢圓圖像作爲表單的背景圖像。但是,這個人並不滿意。我認爲他期待更合乎邏輯的回答。如何在C#(.Net)窗口應用程序中製作橢圓形窗體?

+0

題外話(+1大衛的鏈接),但是這似乎是一種過時的風格,可能是值得談論他們對現代化 – Sayse

+0

最合乎邏輯答案是:「哦,當然,你可以用winapi調用自定義的區域而不是整潔的矩形,這對於計算非常簡單,可以使它慢幾倍。在這裏,採取滯後的形式,也許你希望它用腳本語言編寫Java在cpu上執行完成動作?「 – PTwr

+0

'更合乎邏輯的答案':使用WPF。 winforms是一個非常老的技術,沒有人在意,而且不支持任何東西。更合乎邏輯的答案是:「出於性能原因,微軟在Windows 8中減少了(幾乎消除了)透明度和非正方形區域的數量。你應該考慮你是否真的想用這種技術降低性能。 –

回答

0

是的,這看起來可怕..

 InitializeComponent(); 

     using (GraphicsPath GP = new GraphicsPath()) 
     { 
     GP.AddEllipse(this.ClientRectangle); 
     this.Region = new Region(GP); 
     } 

你不應該。認真。

但是,如果你這樣做,確保這也是由移動..

相關問題