对于整个上下文,我正在使用WinForms,首先,我有一个显示我Hyper-V Manager上所有虚拟机的表单,并且每个按钮都具有许多与该Datagridview关联的功能。外观如下:
(忽略名称,它们都是测试机)
因此,右侧的蓝色小按钮显示为“ Snapshot VM”,它会打开一个新表单,因此您可以为其选择一个名称,如下所示:
我想要的是保存在主窗体(单击按钮之前单击的行)上选择的索引,以便可以从DLL中调用函数snapshotVM
,如下所示:>
public void snapshotVM(string id, string name)
{
if (name == "") powershellFunc("Get-VM | Where { $_.Id –eq ‘" + id + "’ } | Checkpoint-VM");
else powershellFunc("Get-VM | Where { $_.Id –eq ‘" + id + "’ } | Checkpoint-VM -SnapshotName '" + name + "'");
}
(powershellFunc
仅接受powershell命令并执行它们,以进行澄清)
因此,基本上,我需要从一种形式中获取string id
,并从另一种形式中获取string name
,或者在同一形式中从一个函数中获取一个私有变量,并在另一个函数中使用它。这就是我的意思:
我需要在下面的按钮内使用index
变量。有什么办法可以将其“转移”到那里吗?
最后,如果我应该从哪里调用snapshotVM
函数,或者有什么解决方法?任何帮助将不胜感激,包括要求澄清,因为我觉得这有点混乱,我没有正确解释,但我将等待编辑的建议。
答案 0 :(得分:2)
只需在类上使用私有变量:
private string _index;
....
public NewSnapshotVM(...)
{
...
_index = dgv.Rows[...];
}
...
pirvate void button1_Click(...)
{
// use _index as much as you want
}