由按钮对象处理的C#文本框用户输入

时间:2012-06-28 02:56:44

标签: c#

  

可能重复:
  C# GUI application that stores an array and displays the highest and lowest numbers by clicking a button

这是从13个小时前更新的,因为我一直在研究和试验这个。我是这个编程领域的新手,所以我会很简短,我正在自学C#而我正在努力学习如何将用户输入的整数转换为文本框,从button1_Click计算出来以显示在表单上。是的,这是一个班级任务,但我认为我对其中的一些有很好的处理,但不是全部;这就是我转向你们的原因。感谢所有的建议人员。

我在C#语言中使用Microsoft Visual Studio 2010。我正在使用Windows窗体应用程序,我需要创建一个GUI,允许用户输入10个整数值,这些值将存储在一个从button_Click对象调用的数组中。这些值将显示用户输入的最高和最低值。唯一的事情是必须在Click()方法之上声明数组。

这是我到目前为止所提出的:

namespace SmallAndLargeGUI
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        public void inputText_TextChanged(object sender, EventArgs e)
        {
            this.Text = inputText.Text;
        }

        public void submitButton_Click(object sender, EventArgs e)
        {
            int userValue; 
            if(int.TryParse(inputText.Text, out userValue)) 
        { 

        } 
        else 
        {
            MessageBox.Show("Please enter a valid integer into the text box.");
        } 


            int x;
            x = Convert.x.ToString();
            int squaredResults = squared(x);
            int cubedResults = cubed(x); squared(x);
            squaredLabel.Text = x.ToString() + " squared is " + squaredResults.ToString();
            cubedLabel.Text = x.ToString() + " cubed is " + cubedResults.ToString();
        }
        public static int squared(int x)
        {
            x = x * x;
            return x;
        }
        public static int cubed(int x)
        {
            x = x * squared(x);
            return x;    
        }
    }
}

现在我无法运行此程序,因为第38行显示错误消息:'System.Convert'不包含'x'的定义。另外,我仍然需要一个包含10个整数的数组来自文本框和在Click()方法上面声明。伙计们,对我有什么帮助吗?这是昨天到期的。

3 个答案:

答案 0 :(得分:2)

正如一些评论所提到的,这里确实没有足够的信息为您提供有用的答案。在.Net for Windows应用程序中有两个主要的用户界面框架。其中一个通常被称为“WinForms”,另一个是“WPF”或“Windows Presentation Foundation”。

我将与你同行最有可能使用WinForms,因为它是两种技术中较老的一种。这里的方法可以在两侧进行一些调整。在文本框中设置文本非常类似于在标签上以编程方式设置文本。您可以在MSDN上获得有关该问题的更多详细信息:How to: Display Text on a Windows Form; How to: Use TextBox Controls to Get User Input

如果您使用WPF,“后端”代码几乎相同。您只需要确保文本框中包含x:Name="userInputTextBox",以便您可以在后面的代码中引用它。 注意您的用户可以在字段中输入“1”,“3”或“abcd”。确保您的应用程序不会爆炸很可能不在作业之内,但可以随意查找C#int.TryParse(...)和“Try Catch”:-)

您的按钮处理程序可能如下所示:

void btnUserClick_Click(object sender, System.EventArgs e)
{
    int userValue;
    if(int.TryParse(txtUserInput.Text, out userValue))
    {
        // We have the value successfully, do calculation
    }
    else
    {
        // We don't have the users value.
        MessageBox.Show("Please enter a valid integer into the text box.")
    }
}

答案 1 :(得分:0)

  1. 定义名为textbox1或txt_name

  2. 的文本框
  3. 你可以写button1_Click函数:

    int i_value = Convert.ToInt16(txt_name.Text);
    
  4. 确定。我没有尝试捕捉例外...... :(

    也许上面的答案是正确的。

    不过,我认为这个问题主要集中在如何从文本框中获取int类型。正确?

答案 2 :(得分:0)

retrieveInput_Click处理程序中,您将最小/最大数字分配给本地int。一旦确定了逻辑中的最小/最大数字,就需要将这些局部整数分配给UI元素进行显示。

由于我们没有关于您的特定UI选择的任何详细信息,一个简单的解决方案可能是在表单中添加2个标签,然后在代码中将结果放在标签中:

for (int i = 0; i < numbers.Length; ++i)
{
  if (numbers[i] < min)
     min = numbers[i];
  if (numbers[i] > max)
     max = numbers[i];
}

// Assign Minimum to Label1
Label1.Text = "Minimum Value: " + min.ToString();
// Assign Maximum to Label2
Label2.Text = "Maximum Value: " + max.ToString();