C# 如何存储文本框中的字符串,然后在C中使用该字符串#
这是一个简单的应用程序,用来记录学生信息。表格上有姓名、课程等信息的文本框和三个按钮“设置”、“清除”和“获取”。set按钮应该接受用户输入并将其存储为字符串,CLEAR按钮清除所有文本框,GET按钮应该将数据带回文本框C# 如何存储文本框中的字符串,然后在C中使用该字符串#,c#,get,set,C#,Get,Set,这是一个简单的应用程序,用来记录学生信息。表格上有姓名、课程等信息的文本框和三个按钮“设置”、“清除”和“获取”。set按钮应该接受用户输入并将其存储为字符串,CLEAR按钮清除所有文本框,GET按钮应该将数据带回文本框 namespace Project1 public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); }
namespace Project1
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
public void SetBttn_Click(object sender, RoutedEventArgs e)
{
string firstname = FirstNameTxtBox.Text;
string lastname = LastNameTxtBox.Text;
string course = CourseTxtBox.Text;
string mno = MNoTxtBox.Text;
string yrmark = YrMarkTxtBox.Text;
}
private void ClrBttn_Click(object sender, RoutedEventArgs e)
{
FirstNameTxtBox.Text = String.Empty;
LastNameTxtBox.Text = String.Empty;
CourseTxtBox.Text = String.Empty;
MNoTxtBox.Text = String.Empty;
YrMarkTxtBox.Text = String.Empty;
}
private void GetBttn_Click(object sender, RoutedEventArgs e)
{
FirstNameTxtBox.Text = firstname;
LastNameTxtBox.Text = lastname;
CourseTxtBox.Text = course;
MNoTxtBox.Text = mno;
YrMarkTxtBox.Text = yrmark;
}
private void ShowBttn_Click(object sender, RoutedEventArgs e)
{
{
phd newWin = new phd();
newWin.Show();
}
}
}
}
因为您正在方法内部创建变量。在
Set
方法中,您正在创建local(to the method)变量,而无法在其他方法(Get)中读取该变量,因为该变量只能在Set方法中访问
解决方案:使用在方法外部定义的变量,并从中存储和读取。这里我在类级别定义一个变量。这在所有方法中都是可访问的。可以在一个方法中设置值,然后在另一个方法中读取值
public partial class MainWindow : Window
{
private string _firstName;
public void SetBttn_Click(object sender, RoutedEventArgs e)
{
//Setting the value to the class level scoped variable.
_firstName = FirstNameTxtBox.Text;
}
private void GetBttn_Click(object sender, RoutedEventArgs e)
{
//Reading the value from the class level scoped variable.
FirstNameTxtBox.Text = _firstName ;
}
}
问题是您需要在函数之外设置字符串,这样就不会有本地字符串
string firstname;
string lastname;
string course;
string mno;
string yrmark;
public void SetBttn_Click(object sender, RoutedEventArgs e)
{
firstname = FirstNameTxtBox.Text;
lastname = LastNameTxtBox.Text;
course = CourseTxtBox.Text;
mno = MNoTxtBox.Text;
yrmark = YrMarkTxtBox.Text;
}
你真的应该发布你所得到的错误。但是无论如何,你的问题是你在
SetBttn\u Click
中声明你的变量,这意味着它们将只存在于该方法中。这叫做局部变量
要执行您正在尝试的操作,您需要在表单本身中将变量声明为字段:
public partial class MainWindow : Window
{
private string firstname, lastname, course, mno, yrmark;
...
这样,它们将在类中的所有方法之间共享。我还建议对它们进行不同的命名,以便将它们与局部变量区分开来。有些人在名字前面加下划线,我自己更喜欢
m_FirstName
你必须将字符串的声明移出方法:
// Declaration:
private string firstname = "";
private string lastname = "";
private string course = "";
private string mno = "";
private string yrmark = "";
public MainWindow()
{
InitializeComponent();
}
public void SetBttn_Click(object sender, RoutedEventArgs e)
{
firstname = FirstNameTxtBox.Text;
lastname = LastNameTxtBox.Text;
course = CourseTxtBox.Text;
mno = MNoTxtBox.Text;
yrmark = YrMarkTxtBox.Text;
}
请同时发布您收到的错误。谢谢:)效果非常好