簡體   English   中英

從靜態void C#透明

[英]Form transparency from static void C#

基本上,我有一個計時器,一旦到達5000ms,它將把我的主窗體的不透明度設置為0.5。問題是我不能從靜態void更改窗體的不透明度...這是我的代碼,是否有任何提示?

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

    }


}

那么您的靜態方法沒有可使用的表單實例。

最簡單的方法就是阻止它成為靜態方法。 無論如何,沒有明顯的原因使您希望它成為靜態方法,也沒有理由讓myTimer是靜態的(根據使用情況,我認為它是靜態的)。

一旦將其設置為實例方法,就可以按照通常的方式更改不透明度,假設有問題的TimerSystem.Windows.Forms.Timer (因此它將在正確的線程上打勾... )

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM