我正在重写一个Windows窗体应用程序(更新的框架,重写逻辑等),有一件事我无法弄清楚它们是如何做的。 原始应用程序中的文本框有一个厚闪烁的光标,如下所示:http://screencast.com/t/8QYUcjuh3n
对于我的生活,我无法想象如何做到这一点。请帮帮忙?
答案 0 :(得分:1)
您可以使用pinvoke CreateCaret
来执行此操作该示例使用带有按钮(button1)和文本框(textBox1)的Winform。
使用指令添加此内容:
using System.Runtime.InteropServices;
添加这些声明:
[DllImport("user32.dll")]
static extern bool CreateCaret(IntPtr hWnd, IntPtr hBitmap, int nWidth, int nHeight);
[DllImport("user32.dll")]
static extern bool ShowCaret(IntPtr hWnd);
将此代码添加到按钮点击事件:
// Thickness is set where I have 10.
CreateCaret(textBox1.Handle, IntPtr.Zero, 10, textBox1.Height);
ShowCaret(textBox1.Handle);
当你点击按钮时,你会得到一个更粗的光标。
还讨论了这个here。