我创建了自己的屏幕键盘,具有特殊功能。
我使用override
方法ShowWithoutActivation
和CreateParams
来阻止我的表单获得焦点(根据this stackoverflow question)。
protected override bool ShowWithoutActivation
{
get { return true; }
}
protected override CreateParams CreateParams
{
get
{
CreateParams param = base.CreateParams;
param.ExStyle |= 0x08000000;
return param;
}
}
但是经过一些Hide()
和Show()
我的表格再次成为焦点。
要修复它,我需要重新启动应用程序,但它当然是糟糕的解决方案。
是否可以不重启?
隐藏后显示表单而没有给予关注但没有帮助。我的应用程序可以再次集中。
我注意到在大多数情况下它会随机发生,但总是在其中一个中:如果我在右键单击托盘中的NotifyIcon后显示我的应用程序并从ContextMenuStrip中选择项目。 OnClick我只是调用show function。
答案 0 :(得分:-1)
您需要点击窗口吗?如果没有,试试这个:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true" <!-- this because the textview is the topmost view on the screen so I tried to use this -->
android:text="my text"
android:textSize="10pt"
android:id="@+id/text1" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/text1"
android:orientation="vertical"
android:id="@+id/linear_layout">
<!-- some other views -->
</LinearLayout>