...
using System.Xml;
namespace WindowsFormsApplication2
{
public partial class Form2 : Form
{
XmlDocument activeDoc=new XmlDocument();
public Form2(string path)
{
InitializeComponent();
}
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
MessageBox.Show(Convert.ToString(sender),Convert.ToString(e));
}
private void button1_Click(object sender, EventArgs e)
{
save(path);
}
private void save(string path){
activeDoc.Save(path);
}
}
}
为什么button1_click函数说“'path'元素在此上下文中不可用”? 我确信Form2接收'path',因为带路径的诊断消息可以正常工作。
答案 0 :(得分:1)
在构造函数中为类变量分配路径,如下所示。注意,Methods / Constructor的参数只能在该方法/构造函数的上下文中访问。无法进入边界。
string pathString = string.Empty;
XmlDocument activeDoc=new XmlDocument();
public Form2(string path)
{
pathString = path;
InitializeComponent();
}
答案 1 :(得分:0)
你必须在Project..do中的某个地方声明路径
...
using System.Xml;
namespace WindowsFormsApplication2
{
public partial class Form2 : Form
{
XmlDocument activeDoc=new XmlDocument();
String path;
public Form2(string _path)
{
path = _path;
InitializeComponent();
}
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
MessageBox.Show(Convert.ToString(sender),Convert.ToString(e));
}
private void button1_Click(object sender, EventArgs e)
{
save(path);
}
private void save(string path){
activeDoc.Save(path);
}
}
}
答案 2 :(得分:-1)
Form2类中没有字段路径。例如,它可以是来自此命名空间的另一个类的静态字段。构造函数和保存方法采取"路径"仅作为本地参数
答案 3 :(得分:-1)
像这样更改你的代码
public partial class Form2 : Form
{
XmlDocument activeDoc=new XmlDocument();
static string Localpath=null;
public Form2(string path)
{
InitializeComponent();
Localpath=path;
}
.....
现在
private void button1_Click(object sender, EventArgs e)
{
save(Localpath);
}