2011-02-13 33 views
3

對於我正在處理的項目,需要在表單中顯示類似秒錶的計時器。如果我在VB中沒有記錯,文本可能會輸出到圖片框,但我找不到在c#中執行此操作的方法。如果有辦法阻止對盒子進行大小調整,標籤將起作用。謝謝。輸出到圖片框替代

回答

2

標籤可能是最簡單的選擇。我不知道爲什麼你需要防止重新調整picturebox(這也很簡單)。

如果您擔心您的圖片框被調整大小,並且您的標籤不再居中,或者大小錯誤,那麼您可以將代碼放入resize事件中,以動態更新標籤的大小和位置及其字體,基於picturebox的當前大小。

但是,如果您決定不使用標籤,則始終可以讓您的圖片庫訂閱Paint事件,然後使用e.Graphics在繪圖箱重新繪製時繪製文本。

private void pictureBox1_Paint(object sender, PaintEventArgs e) 
{ 
    using (Font myFont = new Font("Microsoft Sans Serif", 10)) 
    { 
     e.Graphics.DrawString("This time is...Hammertime", myFont, Brushes.Black, new Point(0,0)); 
    } 
} 

但是,你也必須重繪此爲您的計時器的每次迭代。

就像我說的,標籤將是一個比這更好的選擇。調用e.Graphics不會給你帶來任何超過標籤的真正優勢,但它會創造更多讓你擔心的事情。

1

使用TextBox可能是最合適的;只需將ReadOnly設置爲true即可。