Windows Mobile 6 - отключение автозаполнения в текстовых окнах WinForms - PullRequest
4 голосов
/ 28 декабря 2010

Я делаю приложение для Windows Mobile 6, где мне нужно отключить автозаполнение для текстовых полей, которые есть в моей форме.В них сканируется информация, поэтому мне нужно отключить функцию автозаполнения / автозаполнения.Могу ли я сделать это программно или мне нужно манипулировать ключами реестра?(Это не коммерческое приложение.)

1 Ответ

21 голосов
/ 29 декабря 2010

Используйте этот класс, он будет вызывать метод SHSetInputContext и отключать \ включать события наведения на элемент управления для элементов управления. Просто передайте ручку управления.

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);
...