C# Textbox1最大texbox2
我有找到Textbox1和Textbox2的代码 代码正在运行,但如果我设置为“0”或“0,5”,则会出现错误(如果有“,”) 有人想要接受“0”或“,”的解决方案吗C# Textbox1最大texbox2,c#,wpf,C#,Wpf,我有找到Textbox1和Textbox2的代码 代码正在运行,但如果我设置为“0”或“0,5”,则会出现错误(如果有“,”) 有人想要接受“0”或“,”的解决方案吗 首先,如果您希望能够比较像0,5这样的数字,则需要使用与integer不同的数据类型。这将是一个良好的开端。是一个包含所有内置数据类型C#的表 第二:单独使用float无法解决问题,因为您使用TextBox的TextChanged事件,每当用户在TextBox中输入一个数字时,就会触发该事件。即使用户只输入一个int,比如1234
首先,如果您希望能够比较像
0,5
这样的数字,则需要使用与integer不同的数据类型。这将是一个良好的开端。是一个包含所有内置数据类型C#的表
第二:单独使用float无法解决问题,因为您使用TextBox
的TextChanged
事件,每当用户在TextBox
中输入一个数字时,就会触发该事件。即使用户只输入一个int
,比如1234567890,事件也会被触发10次
可能是您应该使用按钮或,以便在文本框中键入完整数字时,事件中的代码可以执行一次。
您还可以使用向下键
事件,以便用户可以通过按Enter确认输入。是一篇展示如何做到这一点的帖子。好吧,0,5不是整数。您期望/希望发生什么?…当我写“0,5”或仅写“0”时,我得到的信息是:输入字符串格式不正确。这是正确的。十进制不是整数。这不是编程问题,这只是当你甚至不知道你在使用什么数据类型时,你可能不应该只使用你“找到”的代码。。。我建议您先学习一些基本教程。Thx供您参考,但我不能使用“向下”键,因为当我按下按钮时,有一个从0.5+0.5开始计算的值,结果会一直向上。@Realize我在您发布的代码中没有看到任何添加或计数的内容。当您正确使用向下键
事件时,您应该解决您的问题。当且仅当用户按下ENTER键时,才会执行计算。您是否打算在用户每次连续输入每个数字时比较各点?比如123?1在2在3?我明白了,我只用1,2,3,4修改代码。。。谢谢你的信息
public partial class MainWindow : Window
{
int point1, point2;
int point3, point4;
public MainWindow()
{
InitializeComponent();
point1 = point2 = 0;
point3 = point4 = 0;
}
private void textBox1_TextChanged(object sender, TextChangedEventArgs e)
{
if (textBox1.Text != "") {
point1 = int.Parse(textBox1.Text);
int tt;
int uu;
tt = point1 - point2;
uu = point3 - point4;
if (tt >=uu)
texboxxol1.Background = Brushes.Yellow;
texboxxol2.Background = Brushes.White;
}
}
private void textBox2_TextChanged(object sender, TextChangedEventArgs e)
{
if (textBox2.Text != "")
{
point2 = int.Parse(textBox2.Text);
int tt;
int uu;
tt = point1 - point2;
uu = point2 - point1;
if (uu >= tt)
texboxxol2.Background = Brushes.White;
texboxxol1.Background = Brushes.Yellow;
}
}