2013-10-04 15 views
0

我有一個圖形視圖,我想覆蓋,上面有幾個控制半透明的形式,如一個TreeView如何畫一個半透明形式在圖形視圖,以便控件是乾淨呈現

像這樣的位(但是具有半透明背景):

我已經使用2點無邊界的形式,具有一個普通的背景底襯和60%的不透明度+與TransparentKey覆蓋嘗試和它的控制。但是,文本渲染非常糟糕,特別是底層背景蒼白且3D視圖較暗時。

我能想到的唯一方法是捕獲3D視圖的相關部分的位圖並將其設置爲表單的背景,然後希望它能很好地渲染TreeView。

這是最好的方法嗎?我似乎有點過分。

這篇文章是我用我的基本做法: How can I add transparency to a c# form while keeping controls visible?

+1

即使沒有清楚地瞭解你需要什麼,我會說winforms不適合這個。 –

+1

這是在Windows中繪製文本的基本限制。它是*消除鋸齒*以改善字形的外觀。最常見的抗鋸齒技術是ClearType,如截圖中所用,它在字母的邊緣添加了紅色和藍色像素,並將其混合到背景中。當背景不可預知,像素不再混合並變得非常明顯時,這種方式不起作用,產生非常難看的類型。只有關閉消除鋸齒才能解決此問題,從而生成始終難看的文本。 –

+1

WPF在這樣的圖形密集要求中應該更好。 – inquisitive

回答

0

不要使用的WinForms,WPF使用代替。

相關問題