在某TextBox中输入内容的时候,一般情况都是汉字,我将ImeMode属性设置为On,自动打开输入法,但默认状态是全角。
有没有办法实现: 如果是汉字就全角保存,如果是数字就半角保存
或者,使输入法默认半角
有没有办法实现: 如果是汉字就全角保存,如果是数字就半角保存
或者,使输入法默认半角
解决方案 »
- Datagridview如果查询没有信息怎么返回上一次查询的信息
- c#制做水晶報表或RDLC報表,每個報表都要至少要加一個dataset的嗎?
- 名称空间写法?
- 各路神仙,能不能给个钩子例子给小弟!
- 急!!!嵌入的资源问题!
- 这段代码怎么写?(在线等)
- 这个代码还是显示不出来图片帮帮忙啊!!
- 各位,问一个问题,我在安装VS.NET的时候,没有安装IIS,等到VS.NET安装好了,才安装IIS,这样就造成了IIS无法打开ASPX页面,现在有什吗
- 如何写xml文件???在线等待!!!
- 如何才能捕获当前屏幕的图象呀?谁能给个例子,万分感谢,肯定给分......
- ComboBox选择输入
- 求助关于crystal分栏问题
如果不是可以使用 [DllImport("imm32.dll")]
public static extern IntPtr ImmGetContext(IntPtr hwnd);
[DllImport("imm32.dll")]
public static extern bool ImmGetOpenStatus(IntPtr himc);
[DllImport("imm32.dll")]
public static extern bool ImmSetOpenStatus(IntPtr himc, bool b);
[DllImport("imm32.dll")]
public static extern bool ImmGetConversionStatus(IntPtr himc, ref int lpdw, ref int lpdw2);
[DllImport("imm32.dll")]
public static extern int ImmSimulateHotKey(IntPtr hwnd, int lngHotkey);
private const int IME_CMODE_FULLSHAPE = 0x8;
private const int IME_CHOTKEY_SHAPE_TOGGLE = 0x11; protected override void OnActivated(EventArgs e)
{
base.OnActivated(e);
IntPtr HIme = ImmGetContext(this.Handle);
if (ImmGetOpenStatus(HIme))
{
int iMode = 0;
int iSentence = 0;
bool bSuccess = ImmGetConversionStatus(HIme, ref iMode, ref iSentence);
if (bSuccess)
{
if ((iMode & IME_CMODE_FULLSHAPE) > 0) ImmSimulateHotKey(this.Handle, IME_CHOTKEY_SHAPE_TOGGLE);
}
}
}
这样看看
必须是写代码,在属性栏里是改不了的.....只要修改最底层的容器的ImeMode属性就OK
private void textBox3_KeyPress(object sender, KeyPressEventArgs e)
{
const string from = "0123456789";
const string to = "0123456789";
int n = from.IndexOf(e.KeyChar);
if (n != -1) e.KeyChar = to[n];
}