从静态空间C#形成透明度

时间:2014-06-01 21:30:54

标签: c# forms visual-studio-2012

基本上,我有一个计时器,一旦达到5000毫秒,我的主窗体的不透明度将设置为0.5 问题是,我无法从静态空白中改变我的表单的不透明度...... 这是我的代码,任何sugestions? :

public partial class Form1 : Form
{

    public Form1()
    {
        myTimer.Tick += new EventHandler(TimerEventProcessor);
        // Sets the timer interval to 5 seconds.
        myTimer.Interval = 5000;
        myTimer.Start();
    }

    public static void TimerEventProcessor(Object myObject,
                                        EventArgs myEventArgs)
    {
        myTimer.Stop();
        //Set Opacity here

    }


}

1 个答案:

答案 0 :(得分:1)

您的静态方法没有要使用的表单实例。

最简单的方法就是阻止它成为静态方法。没有明显的理由说明为什么你仍然希望它成为一种静态方法 - 或者为什么你希望myTimer是静态的,我认为它是基于使用的

如果您已将其设为实例方法,则可以像往常一样更改不透明度,假设相关的TimerSystem.Windows.Forms.Timer(因此它会如此)在正确的线程上滴答作响......)