Shani Weerasinghe Ответов: 1

Как создать экранную клавиатуру на языке Си#


как создать экранную клавиатуру в c#, которую можно использовать внутри одного и того же проекта
я разрабатываю приложение windows form с именем ABC,клиент с помощью монитора с сенсорным экраном.поэтому мне нужно использовать экранную клавиатуру внутри этого приложения.я попробовал код ниже.
но это не сработает на том же самом project.it работает на других приложениях,таких как блокнот, word .

пожалуйста, кто-нибудь, помогите мне поблагодарить вас.

Что я уже пробовал:

 protected override CreateParams CreateParams
        {
            get
            {
                CreateParams param = base.CreateParams;
                param.ExStyle |= 0x08000000;
                return param;
            }
        }


private void button2_Click(object sender, EventArgs e)
        {
            SendKeys.Send("1");
        }

BillWoodruff

Почему вы не пытаетесь использовать встроенную экранную клавиатуру Windows ?

начните здесь: https://www.google.cl/search-что?q=c%23+Windows+экран+клавиатура

и проверьте это:

https://sourceforge.net/directory/?q=on-screen+клавиатура

1 Ответов

Рейтинг:
9

Ralf Meier

Не такой уж легкий путь ...

1-й вам нужно создать метод на форме, которая предоставляет TouchKeyboard. Этот метод должен посмотреть, получил ли какой-либо из ваших текстовых полей фокус. Возможно, это выглядит также, если вам нужно специальное ограничение на TouchKeyboard (например, только числовые входы).
2-й вы создаете свой TouchKeyboard - например, в виде диалогового окна. Этот диалог содержит все кнопки для различных необходимых символов, которые должны быть использованы. Каждая из этих кнопок изменяет текстовое свойство вашего диалога (вам нужно и не следует использовать клавиши SendKeys). Если ваш ввод закончен, то ваше свойство Text-Property содержит окончательный ввод.
3-й ваш форм-метод открывает диалоговое окно, и поскольку он знает, какой элемент управления запрашивается диалогом, он также может расположить диалоговое окно, соответствующее вызывающему элементу управления. Когда ваш диалог закончен, вам нужно только записать его текстовое свойство-содержимое в вызывающий элемент управления.

...


Shani Weerasinghe

Не могли бы вы дать мне несколько ссылок, которые объясняют это ?

Ralf Meier

Какая специальная информация вам нужна ?
- Создание диалога ?
- Ловить События ?
- Итерация по элементам управления-коллекция вашей формы ?
- Отражение ?
...
- все они ?

Shani Weerasinghe

если вы хотите, чтобы остаться скажите, пожалуйста, все из них.им действительно стягивались с этим.:(

Ralf Meier

Конечно, я мог бы дать вам некоторые ссылки - но вы также можете найти те же ссылки самостоятельно.
Позвоните в Google и введите C#", а затем ключевые слова, которые я разместил, и вы получите несколько (тысячи ?) примеров ...

Ralf Meier

Конечно, вы можете понизить мой ответ - это ваше решение.
На самом деле этот ответ - это путь, которым вы должны идти, или пусть он будет ...
Если вы хотите сделать шаг вперед, вы должны понять, что бесполезно ждать, пока кто-то сделает вашу работу за вас.
Реальный ответ, который я мог бы дать вам : начните использовать Google ... и попытайтесь улучшить себя ...