不可调用的成员' System.Windows.Forms.Control.Text'不能像方法一样使用

时间:2016-11-27 11:48:14

标签: c#

noob程序员在这里很抱歉如果我错过了一些非常简单的东西,请点击这里:

namespace Programming_Assignment_2
{
  public partial class Form1 : Form
  {
    string combination;
    const int MinLength = 6;

    bool CombinationCheck(string combination)
    {
        if (combination.Length > 5)
            return true;
        else
            return false;
    }

    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
    }

    private void btn_SetComb_Click(object sender, EventArgs e)
    {
        combination = My_Dialogs.InputBox("Please enter a password longer than 5 characters: ");
        if (combination.Length < MinLength)
            My_Dialogs.InputBox("Error! Please make sure password is longer than 5 characters: ");
        else
        {
            MessageBox.Show("Thank you, password saved.");
        }
    }

    private void label1_Click(object sender, EventArgs e)
    {
    }

    private void text_SafeStatus_TextChanged(object sender, EventArgs e)
    {                    
      bool CombinationCheck;
      if (
        text_SafeStatus.Text("Combination Set"));
      else (
        text_SafeStatus.Text("Combination Not Set"));   
    }
  }
}

所以底部的两个.Text&#39;返回标题中的错误加上我在这里和那里得到了更多的小错误

只有赋值,调用,递增,递减,等待和新对象表达式才能用作语句

在其他地方的支架上..

再次抱歉可能是一个菜鸟问题,但我似乎无法找到能够帮助我的答案

编辑1:

所以文本错误是固定的,谢谢,但我有另一个问题,试图从bool获取真/假值并使用它来确定文本框显示的内容..

if bool CombinationCheck;
if CombinationCheck true;
text_SafeStatus.Text = "Combination Set";
else
text_SafeStatus.Text = "Combination Not Set";

这就是我现在所拥有的,我不知道如何使这项工作。

1 个答案:

答案 0 :(得分:0)

您需要指定TextBox文字属性,因为没有此类方法称为Text(),因此请使用赋值运算符=来指定值。

text_SafeStatus.Text = "Combination Set";

如果您需要检查Textbox的值,请使用==比较运算符,请不要使用单=进行比较,如上例所示{{1是赋值运算符,仅用于赋值。

=

修改

if (text_SafeStatus.Text == "Combination Set") // do something // 返回true或false,具体取决于传递给方法的字符串长度。

将此代码段从CombinationCheck移至text_SafeStatus_TextChanged事件。将其粘贴到现有代码下方。

btn_SetComb_Click