我需要在WinForms应用程序中的RichTextBox控件中显示光标,即使它不在焦点上。我怎样才能做到这一点?我找到了WPF的方式(How to keep WPF TextBox selection when not focused?)
答案 0 :(得分:2)
您可以使用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
答案 1 :(得分:1)
您无法同时将焦点设置为两个或更多UI,但您可以通过设置HideSelection=false
来保留选择。
答案 2 :(得分:0)
我不知道你想要实现什么,它有多少真正有用。但如果它只是为了视觉目的,写一些像'|'的东西在里面。它是一种坏的,奇怪的,笨拙的方式,或者你称它为什么,为了视觉目的,它可能会起作用。
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();
}
我不确定我给你的是否是你要求的,但要得到准确的答案,你必须暴露你对此要求的需要。
希望它有所帮助。