我有(为了好玩)在C#
中制作一个表格trackbar
。
我想用它更改表单的Opacity
,所以我写了这个:
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();
}
当我启动程序时,如果trackbar
的值为1到100,则不透明度将为100%;如果我将trackbar
拖动到0,则表单将完全透明。
在表单启动时,您只能获得100%Opacity
或0%Opacity
,还是我想要的?
答案 0 :(得分:4)
System.Windows.Forms.Form.Opacity
的值介于0.0
和1.0
之间,以获得可以将其与100
相乘的不透明度的百分比,因此1
表示fully opaque
和0
表示fully transparent
。
对于跟踪栏,您应将其Value
转换为0.0
和1.0
之间的相应值,因此您应该执行以下操作:
yourForm.Opacity = (double)trackBar1.Value/trackBar1.Maximum;
答案 1 :(得分:2)
将数字除以100.它应该是0到1之间的双倍
((double)trackBar1.Value) / 100
答案 2 :(得分:2)
使用此:
System.Windows.Forms.Form.ActiveForm.Opacity = ((double)(trackBar1.Value) /100.0)
您可以有不同程度的不透明度。例如,0.5会给你50%的不透明度。
答案 3 :(得分:-1)
private void trackBar1_Scroll(object sender, EventArgs e) { label1.Text =trackBar1.Value.ToString()+ "%";
Opacity=trackBar1.Value / 100.00;
}