[英]How to show cursor in unfocused WinForms TextBox/RichTextBox?
我需要在WinForms应用程序的RichTextBox控件中显示光标,即使它不在焦点上也是如此。 我怎样才能做到这一点? 我找到了WPF的唯一方法( 不集中精力时如何保持WPF TextBox选择? )
您可以使用WinAPI ..
[DllImport("user32.dll", EntryPoint = "ShowCaret")]
public static extern long ShowCaret(IntPtr hwnd);
[DllImport("user32.dll", EntryPoint = "HideCaret")]
public static extern long HideCaret(IntPtr hwnd);
并在需要时致电ShowCaret
您不能同时将焦点设置到两个或多个UI,但是可以通过设置HideSelection=false
保留选择。
我不知道您要达到什么目标,真正有用的是多少。 但是,如果只是出于视觉目的,请写一些类似“ |”的东西 在里面。 出于视觉目的,这是一种不好的,怪异的,尴尬的方式或您所说的任何方式,它可能会起作用。
public void blink()
{
while (true)
{
textBox1.Text = "|";
Thread.Sleep(200);
textBox1.Text = "";
Thread.Sleep(200);
}
}
private void Form1_Load(object sender, EventArgs e)
{
Thread t1 = new Thread(new ThreadStart(blink));
t1.Start();
}
我不确定我是否要提出您的要求,但是要获得准确的答案,您必须公开您对此要求的需求。
希望能帮助到你。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.