2013-08-20 12 views
0

我有(爲了好玩)在C#中填寫表格,其中trackbar。 我想改變它的形式Opacity,所以我寫了這個:用C#中的軌跡欄更改窗體中的不透明度不起作用,爲什麼?

private void trackBar1_Scroll(object sender, EventArgs e) 
{ 
    progressBar1.Value = trackBar1.Value; 
    System.Windows.Forms.Form.ActiveForm.Opacity = trackBar1.Value; 
    label2.Text = trackBar1.Value.ToString(); 
} 

當我啓動程序,不透明度爲100%,如果trackbar是值1到100,如果我將trackbar拖動到0,表單變得完全透明。

當表單啓動時,您是否只能獲得100%Opacity或0%Opacity

+0

我覺得不透明度爲0和1 – wgraham

回答

2

使用此之間:

System.Windows.Forms.Form.ActiveForm.Opacity = ((double)(trackBar1.Value) /100.0) 

你可以有不同程度的不透明度。例如0.5會給你50%的不透明度。

+0

它很棒!謝謝。 –

2

除以100的數量應該是雙0和1

((double)trackBar1.Value)/100 
+0

小幅回調之間的值。 :不透明度應該是一個「雙」而不是「十進制」。請參閱:http://msdn.microsoft.com/en-us/library/system.windows.forms.form.opacity.aspx – wgraham

+0

它不能介於0和100之間嗎?或者只是一個「TRANSPARANT」或「NOT TRANSPARANT」 –

+0

它在0到100之間,它只是一個百分比 - 25%= .25 – Jonesopolis

4

System.Windows.Forms.Form.Opacity值是0.01.0之間,以獲得不透明的,你可以用100乘以百分比,所以1意味着fully opaque0意味着fully transparent

對於跟蹤條,則應將其Value0.01.0的對應值,所以你應該做這樣的事情:

yourForm.Opacity = (double)trackBar1.Value/trackBar1.Maximum; 
相關問題