C#制作带行号的编辑框(一) 接收输入

此文仅用来记录这个项目的坎坎坷坷.首次写博客,排版措辞什么的多多包涵.

说到文本编辑框必然是一个可接受输入的控件.那么我们先完成控件接受输入的功能

先创建一个控件

public class CodeEdit : UserControl
{
}

我们的控件不应只能接受英文输入,还应该接受中文输入.所以我们使用ImmAssociateContext来获取输入.

创建Imm类来完成接收输入.

class ImmManage
    {
        #region 事件
        /// <summary>
        /// 输入文本事件
        /// </summary>
        public delegate void EventInputText(char ch);
        /// <summary>
        /// 输入文本事件
        /// </summary>
        public event EventInputText InputText;
        #endregion

        #region 私有字段
        IntPtr hIMC;
        IntPtr handle;
        private const int WM_IME_SETCONTEXT = 0x0281;
        private const int WM_CHAR = 0x0102;
        #endregion

        #region 构造方法
        public ImmManage(IntPtr handle)
        {
            hIMC = ImmGetContext(handle);
            this.handle = handle;
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值