ja7*_*a72 1 c# textbox winforms
我有一个带文本框的winform,我想在它上面绘制一些GDI图形。文本框没有Paint()要挂钩的事件,因此我认为所有事件都必须在窗体的Paint事件中发生。作为测试,我使用以下命令从原点到文本框内的位置绘制一个矩形:
private void FindForm_Paint(object sender, PaintEventArgs e)
{
using (Pen pen = new Pen(Color.Blue))
{
e.Graphics.DrawRectangle(pen, 0, 0, point.X, point.Y);
}
}
Run Code Online (Sandbox Code Playgroud)
问题是,当我运行时,先完成绘制,然后在我的线条上方呈现文本框。我想在渲染文本框后绘制线条。
PS。我尚未对该Form.SetStyle()功能的表单进行任何设置。
所有者绘制TextBox控件可能比较棘手,因为它只是本机Win32 TextBox控件的包装。
捕获WM_PAINT自定义绘画例程工作所需的消息的最简单方法是从NativeWindow类继承。
这是一篇出色的分步文章,它显示了如何在显示红色波浪下划线的情况下执行此操作:所有者绘制Windows.Forms TextBox (原始链接已失效;已替换为存档版本)
| 归档时间: |
|
| 查看次数: |
7963 次 |
| 最近记录: |