C#调用屏幕键盘控件

C#调用屏幕键盘控件其实很简单,新建一个项目只需要复制十几行代码就可以轻松搞定;运行下面的演示程序前请先正确安装屏幕键盘ActiveX控件,安装方法详见:屏幕键盘控件安装指南

一、演示程序界面

屏幕键盘演示程序(.Net Framework版本)
屏幕键盘控件演示程序(C#版)

二、演示程序下载

本地下载:屏幕键盘控件演示程序(C#版)

三、演示程序代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using AxTouchKeyboard;

// 版权所有 © 2018-2019 德常信息科技(上海)有限公司
// 不支持IDE环境调试键盘控件,参考本DEMO程序直接编码运行。
// 更多支持的输入法名称见官网:https://taosung.tech/index.php/2019/05/16/imelist/
namespace TouchKeyboardDemo.Net
{
    public partial class TouchKeyboardForm : Form
    {
        private AxScreenKeyboard ScreenKb = null;
        private string[] ImeNames = { "美式键盘", "搜狗拼音", "微软五笔", "搜狗手写", "搜狗语音" };

        public TouchKeyboardForm()
        {
            InitializeComponent();
            InitTouchKeyboard();
        }

        private void InitTouchKeyboard()
        {
            ScreenKb = new AxScreenKeyboard();
            ScreenKb.Parent = pnTouchKeyboard;
            pnTouchKeyboard.Controls.Add(ScreenKb);
            ScreenKb.Dock = DockStyle.Fill;
        }

        private void TouchKeyboardForm_Shown(object sender, EventArgs e)
        {
            if (ScreenKb != null)
            {
                btnEnglish.Checked = true;
            }
        }

        private void ImeNameCheckedChanged(object sender, EventArgs e)
        {
            RadioButton btnIme = sender as RadioButton;

            if (ScreenKb != null && btnIme != null && btnIme.Checked)
            {
                ScreenKb.ImeName = ImeNames[btnIme.TabIndex];
            }
        }
    }
}

四、演示程序开发指南

1、新建项目代码生成CPU目标平台设置成x86平台;

2、项目必须引用TouchKeyboard.dllTouchKeyboard.Net.dll,并且引用后属性设置里Embed Interop Types要设置成false,保证项目生成时自动复制这两个库到目标程序文件夹;

3、窗体显示屏幕键盘的位置事先拖拉一个Panel组件,在运行时生成屏幕键盘控件实例,并且把Panel作为此实例的父控件,参考演示程序pnTouchKeyboard对象的定义。

4、输入法名称数组的定义可以根据项目需求自由组合,屏幕键盘控件支持的输入法名称完整列表请参考博文:屏幕键盘控件支持的输入法;需要注意的是英语输入法名称统一定义为“美式键盘”;

5、演示程序界面上每个RadioButtonTabIndex属性设置和输入法名称数组ImeNames下标一致,这样不用写一堆if…else…语句。

五、技术支持

除了在官网推送技术类博文外,我们欢迎您来电子邮件获得业务或技术支持,如果您有什么好的建议也请给我们来邮件,谢谢。

屏幕键盘技术支持邮箱
屏幕键盘技术支持邮箱