Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Toolstriptextbox不释放焦点_C#_Winforms - Fatal编程技术网

C# Toolstriptextbox不释放焦点

C# Toolstriptextbox不释放焦点,c#,winforms,C#,Winforms,我有一个带有toolstriptextbox的winform,用户可以在其中编写一些东西。问题是文本框没有使用以下代码释放焦点: this.ActiveControl = otherControl; OR otherControl.Focus(); 这很奇怪,因为我仍然可以看到toolstriptextbox中的文本光标在闪烁(如果我按其他键,它将出现在其中) 有人知道如何删除toolstriptextbox的光标吗 警察局。toolstriptextbox是表单中唯一的文本框 关于评论 事

我有一个带有toolstriptextbox的winform,用户可以在其中编写一些东西。问题是文本框没有使用以下代码释放焦点:

this.ActiveControl = otherControl; 
OR
otherControl.Focus();
这很奇怪,因为我仍然可以看到toolstriptextbox中的文本光标在闪烁(如果我按其他键,它将出现在其中)

有人知道如何删除toolstriptextbox的光标吗

警察局。toolstriptextbox是表单中唯一的文本框

关于评论

事实上,表单中没有几个控件。toolstrip中的一些按钮、一个拆分器面板和两个图片框。我试图聚焦图片框和toolstrip,但有时表单会丢失事件处理程序,解决这一问题的唯一方法是打开或聚焦任何其他应用程序并返回(这将恢复处理程序)。到目前为止,避免这种情况的唯一方法是聚焦splitterPanel。我知道理论上splitterPanel是不可聚焦的,但这是我找到的唯一解决方法

最后,当splitterPanel被聚焦时,初始行为发生


谢谢你的评论

以下答案有助于我解决这个问题:

我所做的是在表单中添加一个不可见的标签。用户完成更新toolstriptextbox后。我只关注新的辅助标签,它就完成了


感谢所有发表评论的人

您想要关注的“其他控制”是什么?你在哪里调用这些代码?你试图这样做的上下文是什么?你试图激活的其他控件的类型是什么?我试过了,效果很好。很可能你选择了一个不可聚焦的othercontrol。我用你评论的答案更新了问题@larstech。你必须将焦点设置在一个需要焦点的控件上。因此,您列出的控件中几乎没有一个。判断控件不需要焦点的最明显的方法是在单击控件时看不到它有焦点。