2010-01-18 40 views
2

我在使用C#開發的應用程序中有表單。在這種形式下,我創建了一個圖形形狀(一個圓圈)。在運行時,我希望我的表單也只能是這種形狀。也就是說,我只想顯示該圖形,而不是表單背景或標題欄或任何內容。我只想顯示該圖形。但事情是我無法塑造我的形式。我將該圖形控件作爲用戶控件添加到了我的表單中。如何重新塑形?

+0

嗨,你是說你想創建一個圓形表單嗎?或者,你是說你現在有一個UserControl是一個循環的用戶控件,並且你希望在其容器表單上顯示該容器,而容器表單是完全透明的? – BillW 2010-01-18 06:22:26

回答

3

我懷疑你正在嘗試做一個類似效果的閃屏。這並不是很難做到。這是一個很好的tutorial讓你開始。

訣竅主要是設置形式要成爲透明的顏色的透明度鍵(在這種情況下,一切都除了你的圈子。此外,你需要設置的形式是無國界的。


順便說一句,您可以編輯您的問題補充有關的一些信息,爲什麼要做到這一點 - 我很好奇,你的目標是什麼,在用戶體驗方面

+0

只是想在我的表單中向用戶顯示一些圖形,無論何時發生事件。圖形作爲一種獨立的形式出現,我希望這種形式是不可見的,只有圖形才能成爲一張圖片。 – jankhana 2010-01-18 07:56:32

2

如果你想有一個你可以在表單加載事件處理程序中輸入以下代碼:

System.Drawing.Drawing2D.GraphicsPath myPath = new System.Drawing.Drawing2D.GraphicsPath(); 
//this line of code adds an ellipse to the graphics path that inscribes 
//the rectangle defined by the form's width and height 
myPath.AddEllipse(0,0,this.Width,this.Height); 
//creates a new region from the GraphicsPath 
Region myRegion = new Region(myPath); 
this.Region = myRegion; 

然後將窗體的FormBorderStyle屬性設置爲None。

+0

這個我試過了,但是我的圖形像一個車速表一樣在一個圓圈內,這就像一個橢圓形,我不想讓我甚至試圖給予widht和高度作爲我的控制加上一些值,但它不會逃脫標題欄和它看起來不好... 任何其他建議? – jankhana 2010-01-18 07:54:09

+0

一個圓*是一個橢圓... – 2010-01-19 01:39:09

+0

儘管橢圓通常不是一個圓。 – 2010-01-19 01:39:52