根据文本框值

时间:2017-12-28 09:52:15

标签: c#

我在这里的代码应该从.txt文件中的三行加载三个单独的值。这到目前为止工作正常。 LOAD1运行良好,并转换为整数,然后按预期放回到程序中。麻烦是LOAD2。

我正在尝试做什么:我想要这段代码来检查文本“逆时针”是否是LOAD2中的文本。如果是,我希望它自动选中一个复选框(RotDir,也可用于主程序中的手动输入)。可以在该文本框中唯一的其他可用文本是“顺时针”,这应该取消选中RotDir。因此,使用文本框中的输入勾选一个复选框,这可能吗?

我想,这可以用一个基本的真/假类型的语句来解决,因为它只有两个值。但是,这似乎不起作用。有谁知道如何解决这个问题?

StreamReader sr = new StreamReader("C:\\Users\\Gebruik\\Desktop\\Settings.txt");
string[] lines = sr.ReadToEnd().Split(new char[] { '\n' });
LOAD1.Text = lines[3];
LOAD2.Text = lines[7];
LOAD3.Text = lines[10];

int A = Int32.Parse(LOAD1.Text);
ServoSpd.Value = A;
label1.Text = LOAD1.Text;

if (LOAD2.Text == "Counter Clockwise")
{
    ServoDir.Checked = true;
}
else
{
    ServoDir.Checked = false;
}

1 个答案:

答案 0 :(得分:0)

ServoDir.Checked = LOAD2.Text.ToLower() == "counter clockwise"

如果小写修剪的Load2.Text是"逆时针"这将把CheckBox的Checked属性设置为true,否则它将为false。 如果您使用字符串设置某些值,请尝试进行小写/大写比较,并修剪字符串,以便从字符串的开头和结尾删除空格。

编辑: 忘了提一下,你应该尝试用上面的代码替换整个if语句。

编辑: 如果上面的代码不起作用,请尝试将IsChecked属性设置为true / false。