基本上,我制作的绘制应用程序与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