这是我拥有财产的地方:
public partial class NewProjectForm : Form
{
private string mSchemaPath = string.Empty;
public string SchemaPath
{
get
{
return mSchemaPath;
}
set
{
mSchemaPath = value;
}
}
private void OkayBtn_Click(object sender, EventArgs e)
{
mSchemaPath = SchemaPathTB.Text;
//SchemaPathTb is where I get the path for the schema.
}
我希望能够访问Form1
类中的SchemaPath属性。这就是我做的,我一直得到空引用。没有例外,只是null。
public partial class Form1 : Form
{
public void saveProject()
{
NewProject proj = new NewProject();
XmlDocument doc = new XmlDocument();
XmlNode root = doc.CreateNode(XmlNodeType.Element, "testXml", null);
XmlElement schemaPath = doc.CreateElement("Schema");
schemaPath.SetAttribute("Path", proj.schemaPath);
root.AppendChild(schemaPath);
}
此处proj.schemaPath
为空。我试图强制转换(proj)schemaPath,它仍然是null。每当我保存项目时,schemaPath都没有价值。
答案 0 :(得分:0)
public partial class Form1 : Form
{
public void saveProject()
{
NewProject proj22 = new NewProject(); //Create new with emtry string
proj22.SchemaPath = "cfasf"; //Dow whatever you want to the string
proj = proj22; //Set it equal to the class you havel already played with the string
XmlDocument doc = new XmlDocument();
XmlNode root = doc.CreateNode(XmlNodeType.Element, "testXml", null);
XmlElement schemaPath = doc.CreateElement("Schema");
schemaPath.SetAttribute("Path", proj.schemaPath);
root.AppendChild(schemaPath);
}
我并没有真正得到你想要实现的目标但是...... 如果你想打开一个新的表单窗口并从该表单上的元素获取文本,你必须先打开它,当然是formname.show()(确保单击按钮时发生按钮点击事件,只需要那里的消息框)然后是的,字符串的值应该改变