C#螢幕繪製程式

來源:互聯網
上載者:User

前幾天處理一個比較有意思的需求,客戶要求在螢幕滾動顯示一些提示資訊,而同時還要考慮到客戶做交易時的螢幕重新整理問題,螢幕重新整理後滾動資訊不能重新開始,而是繼續重新整理前的操作。
這樣一來就無法使用javascript的走馬燈【marquee】效果了。為了不對已有程式做太大改動,無奈之下只好寫一外掛,專門做滾動字幕顯示。現將源碼公開,以方便有相同需要的朋友。
該程式設計有幾點需要注意:
(1)建立Form時應該override CreateParams CreateParams

View Code

protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
cp.ExStyle |= 0x8000000; //使其在建立時處於非啟用狀態
return cp;
}
}

(2)建立時設定Form屬性
       

View Code

           //設定表單內容
this.BackColor = Color.Fuchsia;
this.TransparencyKey = Color.Fuchsia;
this.TopMost = true; //置頂
//this.WindowState = FormWindowState.Maximized;
this.ShowInTaskbar = false; //取消在工作列中顯示
this.FormBorderStyle = FormBorderStyle.None;//取消標題列、邊框等
//this.StartPosition = FormStartPosition.CenterScreen;//表單位置

(3)要考慮到多螢幕的問題
  

View Code

        /// <summary>
/// 在主屏顯示
/// </summary>
private void PositionOnSecondaryScreen()
{
Screen secondaryScreen = null;
if (Screen.AllScreens.Length == 1)
{
secondaryScreen = Screen.PrimaryScreen;
}
else
{

foreach (Screen screen in Screen.AllScreens)
{
if (screen.Primary == false)
{
secondaryScreen = screen;
break;
}
}
}

this.Location = secondaryScreen.WorkingArea.Location;
this.Size = secondaryScreen.WorkingArea.Size;

}

螢幕繪製字元其實很簡單,就是在指定位置DrawString,但在繪製之前最好能MeasureString來測算要繪製的字元長度

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.