【发布时间】:2019-05-09 04:24:09
【问题描述】:
对于完整的上下文,我正在使用 WinForms,首先,我有一个表单,它显示了我在 Hyper-V 管理器上拥有的所有虚拟机,其中有许多与更改此 datagridview 的每个按钮相关联的功能。下面是它的样子:
(忽略名字,都是测试机)
然后右边有一个蓝色的小按钮,上面写着“快照虚拟机”,它会打开一个新表单,您可以为它取一个名字,如下所示:
我想要保存在主窗体上选择的索引(单击按钮之前单击的行),以便我可以从我的 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 函数,我应该从哪里调用,或者有任何解决方法吗?任何帮助都将不胜感激,包括要求澄清,因为我觉得这有点混乱而且我没有正确解释,但我会等待修改建议。
【问题讨论】:
标签: c# windows winforms dll hyper-v