使用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之间的值。