Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用C#don'中的轨迹栏更改表单中的不透明度;这不管用,为什么?_C#_Forms_Opacity_Smooth_Trackbar - Fatal编程技术网

使用C#don'中的轨迹栏更改表单中的不透明度;这不管用,为什么?

使用C#don'中的轨迹栏更改表单中的不透明度;这不管用,为什么?,c#,forms,opacity,smooth,trackbar,C#,Forms,Opacity,Smooth,Trackbar,我(为了好玩)在C#中用trackbar制作了一个表单。 我想用它更改窗体的不透明度,所以我写了以下内容: private void trackBar1_Scroll(object sender, EventArgs e) { progressBar1.Value = trackBar1.Value; System.Windows.Forms.Form.ActiveForm.Opacity = trackBar1.Value; label2.Text = trackBar

我(为了好玩)在
C#
中用
trackbar
制作了一个表单。 我想用它更改窗体的
不透明度
,所以我写了以下内容:

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();
}
当我启动程序时,如果
轨迹栏
的值为1到100,则不透明度将为100%,如果我将
轨迹栏
拖动到0,则窗体将完全透明


当表单启动时,是否只能获得100%的
不透明度
或0%的
不透明度
,或者我想要的也是可能的?

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

((double)trackBar1.Value) / 100

把这个数字除以100。它应该是介于0和1之间的双精度

((double)trackBar1.Value) / 100
使用以下命令:

System.Windows.Forms.Form.ActiveForm.Opacity = ((double)(trackBar1.Value) /100.0)
可以有不同程度的不透明度。例如,0.5将提供50%的不透明度。

使用此选项:

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

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

System.Windows.Forms.Form.opacity的值介于
0.0
1.0
之间,要获得不透明度的百分比,您可以将其乘以
100
,因此
1
表示
完全不透明
0
表示
完全透明

对于轨迹栏,应将其
转换为
0.0
1.0
之间的对应值,因此应执行以下操作:

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

System.Windows.Forms.Form.Opacity
的值介于
0.0
1.0
之间,要获得不透明度的百分比,可以将其乘以
100
,因此
1
表示
完全不透明
0
表示
完全透明

对于轨迹栏,应将其
转换为
0.0
1.0
之间的对应值,因此应执行以下操作:

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

私有void trackBar1_滚动(对象发送方,事件参数e) { label1.Text=trackBar1.Value.ToString()+“%”


私有void trackBar1_滚动(对象发送方,事件参数e) { label1.Text=trackBar1.Value.ToString()+“%”


我认为不透明度是一个介于0和1之间的值。我认为不透明度是一个介于0和1之间的值。轻微更正:不透明度应该是一个
double
而不是
decimal
。请看:它不能介于0和100之间吗?或者只是一个“TRANSPARANT”或“nottransparant”吗它在0和100之间,只是一个百分比-25%=0.25,或者你是说
System.Windows.Forms.Form.ActiveForm.Opacity=trackBar1.Value/100;
?顺便说一下,这也不起作用。这一行应该和AlexDev的答案完全一样,有一个轻微的修正:不透明度应该是一个
而不是一个
十进制
吗介于0和100之间?还是只有“TRANSPARANT”或“NOT TRANSPARANT”它在0到100之间,只是一个百分比-25%=0.25,或者你是说
System.Windows.Forms.Form.ActiveForm.Opacity=trackBar1.Value/100;
?顺便说一下,这也不起作用。这一行应该和AlexDev的答案完全一样,对你的解决方案多解释一点就好了,在这种情况下,因为不透明度是一个值ue介于0和1之间。对您的解决方案再多解释一下就好了,在这种情况下,这只是因为不透明度是介于0和1之间的值。