我正在制作一个Windows Mobile 6应用,我需要在我的表单上的文本框上禁用自动完成功能。正在扫描信息,因此我需要禁用自动完成/自动提示功能。我可以通过编程方式执行此操作还是需要操作注册表项? (这不是商业应用。)
答案 0 :(得分:21)
使用此类,它将对SHSetInputContext方法进行pinvoke,并禁用\ on将鼠标悬停在控件的事件上。只需通过控件Handle。
public static class InputContext
{
private enum SHIC_FEATURE : uint
{
RESTOREDEFAULT = 0,
AUTOCORRECT = 1,
AUTOSUGGEST = 2,
HAVETRAILER = 3,
CLASS = 4
}
[DllImport("aygshell.dll")]
private static extern int SHSetInputContext(IntPtr hwnd, SHIC_FEATURE dwFeature, ref bool lpValue);
public static void SetAutoSuggestion(IntPtr handle, bool enable)
{
SHSetInputContext(handle, SHIC_FEATURE.AUTOSUGGEST, ref enable);
SHSetInputContext(handle, SHIC_FEATURE.AUTOCORRECT, ref enable);
}
}
示例:
InputContext.SetAutoSuggestion(txtBoxOne.Handle, false);