在C#don';为什么

本文关键字:为什么 C#don | 更新日期: 2023-09-27 18:28:26

我(为了好玩)用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吗?或者我想要的也可能吗?

在C#don';为什么

使用此:

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

可以有不同程度的不透明度。例如,0.5将为您提供50%的不透明度。

System.Windows.Forms.Form.Opacity的值介于0.01.0之间,要获得不透明度的百分比,可以将其与100相乘,因此1表示fully opaque0表示fully transparent

对于轨迹条,您应该将其Value转换为0.01.0之间的相应值,因此您应该执行以下操作:

yourForm.Opacity = (double)trackBar1.Value/trackBar1.Maximum;

将数字除以100。它应该是介于0和1之间的双

((double)trackBar1.Value) / 100

private void trackBar1_Scroll(object sender,EventArgs e){label1.Text=trackBar1.Value.ToString()+"%";

        Opacity=trackBar1.Value / 100.00;
        
    }