C# 在另一个c中使用一种形式的变量#
我试图从表格1中获取数据,并在表格3中使用它。 我做了一些谷歌搜索,一些人说使用类构造函数,我尝试了一些事情,这是我迄今为止最接近的事情,但仍然不起作用。 有谁能给我建议吗 表格1:C# 在另一个c中使用一种形式的变量#,c#,C#,我试图从表格1中获取数据,并在表格3中使用它。 我做了一些谷歌搜索,一些人说使用类构造函数,我尝试了一些事情,这是我迄今为止最接近的事情,但仍然不起作用。 有谁能给我建议吗 表格1: string userNameText = userName.Text; userNameText = Form3.user; 表格2: public partial class Form3 : Form { public string user { get { return us
string userNameText = userName.Text;
userNameText = Form3.user;
表格2:
public partial class Form3 : Form
{
public string user
{
get { return userName.Text; }
set { userName.Text = value; }
}
}
有人知道我做错了什么吗?试试这个
//In your first forms(so form1) button handler
using(Form3 form3 = new Form3())
{
if(form3.ShowDialog() == DialogResult.OK)
{
someControlOnForm1.Text = form3.TheValue;
}
}
//In Form3
//Define public property to serve value
public string TheValue
{
get { return someTextBoxOnForm2.Text; }
}
如果您将用户设置为静态(这显然是您应该做的),因为您访问的是一个类上的变量,而不是objectForm3上的变量。Form3没有user的静态属性,因此它不能这样工作,所以Form3需要有一个实例,那么您的实例在form1中可用吗?@BugFinder我认为应该是或而不是(首先)第二,由于静态问题,您的示例甚至不能使用普通类。作为一种故障排除方法,您应该使用常规类而不是表单来尝试它,然后您会发现它与forms@barlop,你是对的,可以用更好的措词..在创建表单实例时使用'using'的原因是什么?我看不到msdn文档,表单是可识别的。我看你在新表单3()中使用“使用”是正确的。。如果它不可识别,它就不会编译。@barlop
using
在使用表单时必须使用。Show
。ShowDialog
不需要它。但最好的做法是经常使用它。