在win7环境下使用Devexpress中的SpinEdit控件,切换成中文【简/繁】输入法输入数字键时有不少输入法会重复产生数字
如输入1会变成11,输入123会变成112233。使用SpinEdit控件的解决办法是:可将SpinEdit控件的ImeMode属性设定为
Disable值,这样在控件获得焦点时将禁用输入法。页面上其他可输入中文的控件则将ImeMode属性设定为On。

但是当使用Devexpress中的GridControl进行编辑处理时会发现无论是GridControl,GridView还是GridColumns中的
ColumnEdit控件都没有ImeMode属性,这时候如何处理呢?可通设置GridView的ShownEditor事件或单独设定
ColumnEdit控件的Enter事件解决,一般情况下多列需要改变输入法状态用GridView的ShownEditor事件,单独一列
可使用ColumnEdit控件的Enter事件,代码如下:

TextBoxMaskBox GetInnerEdit(BaseEdit editor)
{
foreach (Control innerEditor in editor.Controls)
if (innerEditor is TextBoxMaskBox)
return innerEditor as TextBoxMaskBox;
return null;
} private void gridView1_ShownEditor(object sender, System.EventArgs e)
{
GridView view = sender as GridView;
if (view.FocusedColumn.FieldName == "FieldName")
{
TextBoxMaskBox innerEditor = GetInnerEdit(view.ActiveEditor);
if (innerEditor != null)
innerEditor.ImeMode = ImeMode.Katakana;
}
}

ColumnEdit控件的Enter事件:

private void SpinEdit1_Enter(object sender, System.EventArgs e)
{
TextBoxMaskBox innerEditor = GetInnerEdit(sender as TextEdit);
if (innerEditor != null)
innerEditor.ImeMode = ImeMode.Hiragana;
}

devexpress中gridview控件编辑时改变输入法状态的更多相关文章

  1. 玩转控件:重绘DEVEXPRESS中DateEdit控件 —— 让DateEdit支持只选择年月 (提供源码下载)

      前言 上一篇博文<玩转控件:重绘ComboBox —— 让ComboBox多列显示>中,根据大家的回馈,ComboBox已经支持筛选了,更新见博文最后最后最后面.   奇葩 这两天遇到 ...

  2. C#设置鼠标在控件上面时,改变光标形状

    //设置鼠标在控件上面时,改变光标形状 private void pictureBox_macroLogo_MouseHover(object sender, System.EventArgs e) ...

  3. Unity编辑器 - 鼠标悬停在控件上时改变鼠标样式

    Unity编辑器 - 鼠标悬停在控件上时改变鼠标样式 摘自Unity文档 EditorGUIUtility.AddCursorRect public static void AddCursorRect ...

  4. .NET中使用GridView控件输入数据时出现“ Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index"的问题

    在.NET中使用GridView控件的在线编辑数据时,出现了“ Index was out of range. Must be non-negative and less than the size ...

  5. dev中gridview控件 z

    目录:一.客户端常用1.常用API2.聚焦行变更事件3.客户端选择多行4.客户端选择行5. 获取选择的行数目6.单击行时,选中行7.通过checkbox 选择行8.选择所有行9.启动编辑框,Conta ...

  6. ASP.NET中GridView控件删除数据的两种方法

      今天在用GridView控件时,发现了一个问题,就是使用GridView控件在删除数据时的问题.接下来我们通过模板列方式和CommandField方式删除某条数据讲解下两者之间的区别. 方式一:通 ...

  7. 关于开发C#中的asp.net中gridview控件的使用

    原文网址:http://blog.sina.com.cn/s/blog_67f1b4b201017663.html 1.GridView无代码分页排序: 效果图: 1.AllowSorting设为Tr ...

  8. Devexpress中WebChartControl控件柱状统计图的做法(数据为调用存储过程)

    //前台控件代码:WebChartControl控件: <%-- 月采购量统计--%> <dxchartsui:WebChartControl ID="WebChartCo ...

  9. DevExpress中 TreeList控件的常规配置

    //以下为TreeList控件样式相关设置 this.treelist_SystemCfg.BackColor = Color.Transparent; this.treelist_SystemCfg ...

随机推荐

  1. 区域生长算法的一种C++实现

    区域生长算法是一种图像分割方法,能够将图像中具有相同特征的连通区域分割出来,同时保证较好的边缘信息. 区域生长算法的优点是简单,容易实现:但空间和时间复杂度较高,对分割图像要求较高,否则容易形成孔洞和 ...

  2. C# and JSON

    JQuery Parse JSON var obj = $.parseJSON(data); C# creates JSON string: public static class JSONHelpe ...

  3. Hadoop集群(第5期)_Hadoop安装配置

    1.1 Hadoop简介 Hadoop是Apache软件基金会旗下的一个开源分布式计算平台.以Hadoop分布式文件系统(HDFS,Hadoop Distributed Filesystem)和Map ...

  4. [转载]如何打一手好Log

    如果项目上过线的话,那你一定知道Log是多么重要. 为什么说Log重要呢?因为上线项目不允许你调试,你只能通过Log来分析问题.这时打一手好Log的重要性绝不亚于写一手好代码.项目出问题时,你要能拿出 ...

  5. forward && redirect 区别介绍

    解释一 一句话,转发是服务器行为,重定向是客户端行为.为什么这样说呢,这就要看两个动作的工作流程: 转发过程:客户浏览器发送http请求---->web服务器接受此请求-->调用内部的一个 ...

  6. codeforces 387C George and Number

    这道题目的意思是对于每个要删除的数字,向前或向后找到一块连续的数字,而它是其中最小的: 很容易看出对于所有要先删除的数字要从大到小删除: 然后对于每个要删除的字母,要找到比他小的,但是在原数列中又靠它 ...

  7. eclipse查看.project .class隐藏文件

    fileter ->*.resource勾选:

  8. 解决Eclipse乱码的办法

    如果在项目中,已经配置了过滤器等各种解决编码问题方法,但是始终解决不了问题,那种考虑下修改eclipse环境本身的编码问题. 在Eclipse中导入新的项目的时候,会遇到乱码的问题,而乱码的问题主要集 ...

  9. ANDROID_MARS学习笔记_S01原始版_008_Looper\Bundle异步消息处理

    一.流程 1.自定义Handler,重写handleMessage(Message msg),用msg得到bundle,从而得到传递过来的数据 2.开启android.os.HandlerThread ...

  10. 《ArcGIS Engine+C#实例开发教程》第二讲 菜单的添加及其实现

    原文:<ArcGIS Engine+C#实例开发教程>第二讲 菜单的添加及其实现 摘要:在上一讲中,我们实现了应用程序基本框架,其中有个小错误,在此先跟大家说明下.在“属性”选项卡中,我们 ...