如何将文本框闪烁插入符更改为命令行样式插入符号ie。文本框中的水平光标。
答案 0 :(得分:2)
请尝试以下代码
[DllImport("user32.dll")]
static extern bool CreateCaret(IntPtr hWnd, IntPtr hBitmap, int nWidth, int nHeight);
[DllImport("user32.dll")]
static extern bool ShowCaret(IntPtr hWnd);
public Form1()
{
InitializeComponent();
}
private void Form1_Shown(object sender, EventArgs e)
{
CreateCaret(textBox1.Handle, IntPtr.Zero, 10, textBox1.Height);
ShowCaret(textBox1.Handle);
}
答案 1 :(得分:1)
请尝试以下示例代码。
this.Cursors = Cursor.None;
this.cursors = cursor.pointer or cursor.arrow
答案 2 :(得分:0)
我使用以下代码使用它(感谢Prabhakantha)。在处理文本框Enter事件后,我不得不使用计时器来设置光标:
private void textBox1_Enter(object sender, EventArgs e)
{
timer1.Enabled = true;
}
private void timer1_Tick(object sender, EventArgs e)
{
timer1.Enabled = false;
CreateCaret(textBox1.Handle, IntPtr.Zero, 6, textBox1.Height);
ShowCaret(textBox1.Handle);
}
但是,这看起来有点像黑客。必须有更好的方法。