【发布时间】:2013-06-01 14:17:09
【问题描述】:
我尝试让我的 Windows 窗体应用程序将不透明度从 1 更改为 0(不可见形式),然后在按下按钮时从 0 不透明度更改为 1(正常、可见形式)。
每个不透明度更改步骤都与计时器相关联。它使不透明度发生变化 (-/+0,10) 在每个 timer1_tick 中。
我从不透明度 = 1 (100%) 开始
现在我有类似的东西:
public partial class Form1 : Form
{
double OpacityStep;
public Form1()
{
OpacityStep = 0.10;
InitializeComponent();
updateButton1();
updateButton2();
}
private void updateButton1()
{
if (Opacity < 1.00) button1.Enabled = true;
else
{
button1.Enabled = false;
}
}
private void updateButton2()
{
if (Opacity > 0.0) button2.Enabled = true;
else
{
button1.Focus();
button2.Enabled = false;
}
}
private void button1_Click(object sender, EventArgs e)
{
double NewOpacity = Opacity + OpacityStep;
if (NewOpacity > 1.0) Opacity = 1.0;
else Opacity = NewOpacity;
updateButton2();
updateButton1();
}
private void button2_Click(object sender, EventArgs e)
{
double NewOpacity = Opacity - OpacityStep;
if (NewOpacity < 0.0) Opacity = 0.0;
else Opacity = NewOpacity;
updateButton1();
updateButton2();
}
private void button3_Click(object sender, EventArgs e) // app start
{
this.timer1.Interval = 1000;
this.timer1.Enabled = true;
}
private void timer1_Tick(object sender, EventArgs e)
{
button2_Click(sender, e);
}
}
此代码使我的应用程序不可见,但如何使其恢复可见 (opacity = 1) ? ? ?
【问题讨论】:
-
不想批评,但这是一种非常混乱的做事方式......您为每种方法调用
Click事件有什么特别的原因吗? -
我刚开始编程,这是我的第一个应用程序之一,所以我尽我所能,而不是最好的:>.
-
那么也许您应该提供更详细的说明,说明您真正想要完成的工作。你会得到很多更好的答案。
-
再说一次,我不确定您要完成什么。但是,如果您发布的代码可以使您的表单不可见。然后反转该过程以使其再次可见。很难遵循程序的流程,因此很难用实际的代码示例编写答案。