基本上,我製作的繪製應用程序與MSPaint非常相似。 這個想法是,用戶點擊窗體上的任何地方,並應該能夠在控件中寫入文本。接下來,該文本應該以g.drawstring圖形方法顯示。如何在運行時繪製文本
-1
A
回答
3
我不想爲你做所有的事情,但這裏是一個完成你概述的目標的基本綱要。這不一定是最好的方法,但它應該讓你開始,並將向你介紹一些WinForms概念。
寫作文
創建Form
和TextBox
控件添加到它。確保它默認是隱藏的。覆蓋Form
的OnMouseClick
方法,並添加代碼以檢查TextBox
是否可見,如果不可見,則顯示它並將焦點置於其上以供用戶輸入其文本。如果TextBox
已經可見,則代碼應該隱藏它並在其顯示文本的位置創建一個新的UserControl
(請參閱下面的UserControl
的詳細信息)。
還添加了一個事件處理程序TextBox
因此,如果用戶點擊Esc鍵,它取消了編輯,如果他們按下回車鍵,文字被接受並創建UserControl
。
顯示文本
創建UserControl
,並確保了UserPaint
和Opaque
樣式在其建設集(見SetStyle
- 你可能還需要考慮OptimizedDoubleBuffer
和AllPaintingInWmPaint
,因爲這可以減少閃爍,雖然它確實需要額外的油漆代碼)。
重寫OnPaint
方法在UserControl
和實現代碼繪製字符串(請記住,您還需要一種方法來設置控件上的文本)。
結論
如果你鉤一切,你應該有出現,以滿足您的需求的東西。爲進一步實驗,請考慮如何刪除對UserControl
的需求。祝好運並玩得開心點!
相關問題
- 1. 如何在運行時繪製一條從文本框中間退出的線?
- 2. 背景在運行時繪製黑色
- 3. 在運行時繪製路線
- 4. MonoDroid - 在運行時繪製橢圓
- 5. 在運行時繼續繪製表單
- 6. 如何在運行時使用可繪製的xml按鈕
- 7. 如何在RichTextBox上繪製文本?
- 8. 如何在DirectX 11中繪製文本?
- 9. Matlab:如何在3D中繪製文本
- 10. 如何在iphone中繪製文本
- 11. 在繪製位圖上繪製文本
- 12. 在Canvas和多行中繪製文本
- 13. 運行時繪製3D圖像
- 14. 如何在使用GDI +中的DrawString函數繪製文本時描邊文本?
- 15. 在MonoMac中繪製文本
- 16. 在ImageView中繪製文本
- 17. 在.NET中繪製文本
- 18. 在SurfaceView上繪製文本
- 19. Canvas.drawText()如何真的繪製文本?
- 20. 如何繪製文本和,使用R
- 21. 如何使用TextPainter繪製文本?
- 22. 如何在運動中繪製橢圓?
- 23. 如何使文本框在運行時進行驗證
- 24. Java - JPanel - 用arraylist繪製文本文件的內容 - 僅在第一次運行
- 25. 如何在運行時一步一步地在活動中繪製線位圖
- 26. 如何在運行時在每個WPF ListBoxItem中繪製矢量圖形?
- 27. 如何在運行時填充本體?
- 28. 使用MonoTouch.CoreText繪製多行文本
- 29. 繪製自定義JButton和文本行
- 30. 如何圍繞多行文本繪製矩形
不錯的功課.. – nothrow 2010-10-22 10:06:31