csharp:datagridview enter Half Width and Full Width characters
/// <summary>
/// 全角
/// </summary>
/// <param name="unicodeString"></param>
/// <returns></returns>
public static string FullWidthConvertor(string unicodeString)
{
StringBuilder sb = new StringBuilder(256);
LCMapString(LOCALE_SYSTEM_DEFAULT, LCMAP_FULLWIDTH, unicodeString, -1, sb, sb.Capacity);
return sb.ToString();
}
/// <summary>
/// 半角
/// </summary>
/// <param name="unicodeString"></param>
/// <returns></returns>
public static string HalfWidthConvertor(string unicodeString)
{
StringBuilder sb = new StringBuilder(256);
LCMapString(LOCALE_SYSTEM_DEFAULT, LCMAP_HALFWIDTH, unicodeString, -1, sb, sb.Capacity);
return sb.ToString();
}
private const uint LCMAP_FULLWIDTH = 0x00800000;
private const uint LOCALE_SYSTEM_DEFAULT = 0x0800;
private const uint LCMAP_HALFWIDTH = 0x00400000;
[DllImport("kernel32.dll", CharSet = CharSet.Unicode)]
public static extern int LCMapString(uint Locale, uint dwMapFlags, string lpSrcStr, int cchSrc, StringBuilder lpDestStr, int cchDest);
/// <summary>
/// DataGridView单位格输入全角转半角
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void dridViewRowNumberNo_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
GridViewRowNumberNo dt = sender as GridViewRowNumberNo;
//获取列序号
int columnIndex = dt.CurrentCell.ColumnIndex;
//单位格转化成文本框
TextBox tb = e.Control as TextBox;
//委托单位格KeyPress事务
tb.KeyPress += new KeyPressEventHandler(geovindu_KeyPress);
}
/// <summary>
/// 单位格KeyPress事务
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void geovindu_KeyPress(object sender, KeyPressEventArgs e)
{
Control ctl = sender as Control;
if (ctl == null)
return;
if (ctl.ImeMode != ImeMode.Hangul)
ctl.ImeMode = ImeMode.Hangul;
//全角转半角
if (e.KeyChar >= 65296 && e.KeyChar <= 65305)
{
e.KeyChar -= Convert.ToChar(65248);
}
}
哲学管理(学)人生, 文学艺术生活, 自动(计算机学)物理(学)工作, 生物(学)化学逆境, 历史(学)测绘(学)时间, 经济(学)数学金钱(理财), 心理(学)医学情绪, 诗词美容情感, 美学建筑(学)家园, 解构建构(分析)整合学习, 智商情商(IQ、EQ)运筹(学)生存.---Geovin Du(涂聚文)
浙公网安备 33010602011771号