Windows Mobile 6 - 在WinForms TextBoxes上禁用自动完成功能

时间:2010-12-28 17:47:51

标签: windows-mobile autocomplete

我正在制作一个Windows Mobile 6应用,我需要在我的表单上的文本框上禁用自动完成功能。正在扫描信息,因此我需要禁用自动完成/自动提示功能。我可以通过编程方式执行此操作还是需要操作注册表项? (这不是商业应用。)

1 个答案:

答案 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);