我确信这很简单,我只是在忽视,但我无法理解。我是C#的新手,我正在尝试创建一个计算器应用程序。我已经用我的所有按钮/文本框创建了我的表单。现在我正在创建一个新类来处理我的所有方法和诸如此类的东西。我的问题是,每当我尝试在第二个类中引用表单上的控件时,我都会得到“当前上下文中不存在”错误。我怎么解决这个问题?
一个例子:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication2
{
public class Calculator
{
decimal currentValue = Decimal.Parse(displayValue.text);
}
}
displayValue收到错误。感谢您的任何帮助。
答案 0 :(得分:1)
只能从与表单控件链接的.cs
文件中调用控件。
您可以做的是创建Calculator
类的参数化构造函数,如下所示:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication2
{
public class Calculator
{
public Calculator(string displayValue)
{
decimal currentValue = Decimal.Parse(displayValue);
}
}
}
现在,您可以使用.cs
形式调用此类,其中您有按钮和文本框,如下所示:
Calculator calculate = new Calculator(displayValue.Text);
答案 1 :(得分:0)
当您创建新的Windows窗体应用程序时,有一个设计器(您可以与之交互以添加按钮和文本框)和代码隐藏(.cs文件)。
此.cs文件是一个部分类,这意味着它也是由您正在与之交互的表单定义的。 (您可以在.Designer.cs文件中查看详细信息)
命名按钮和文本框后,您可以在部分类的代码中引用它们的名称!
当你编译它时,你的按钮文本将变为“Hello World!”
希望这有帮助。
答案 2 :(得分:0)
您将在表单的部分类中找到此控件。您可以从中获取值并进行操作
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
string s = textBox1.Text;
}
}