我在使用Visual C#编程计算器时遇到了问题。我想在文本框中执行时,在执行期间进行自动转换,"。" (点)in"," (逗号)。我写的这些转换代码无法正常工作:
string s = textBox1.Text;
int nr = s.Length;
char[] a = s.ToCharArray();
for (int i=1; i<=nr; i++)
{
if (a[i] == '.')
a[i] = ',';
}
这里应该纠正什么?提前谢谢。
P.S。我很抱歉,如果这种线程已经存在,我无法找到类似的东西。
答案 0 :(得分:0)
private void TextBox1_KeyPress(System.Object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if (e.KeyChar == ".") {
e.KeyChar = ",";
}
}
答案 1 :(得分:0)
试试这个:
tbTest.KeyUp += ((o, e) =>
{
switch (e.Key)
{
case Key.OemPeriod:
#if DEBUG
System.Diagnostics.Debug.WriteLine("Period pressed");
#endif
var tb = (TextBox)o;
tb.Text = tb.Text.Replace(".", ","); //Replace period with comma
tb.Select(tb.Text.Length, 0);
break;
}
});