Для полного контекста я работаю над WinForms, и, во-первых, у меня есть форма, отображающая все виртуальные машины, которые есть в моем диспетчере Hyper-V, со многими функциями, связанными с каждой кнопкой, которая вносит изменения в это представление данных.Вот как это выглядит:
(игнорируйте имена, все они - тестовые машины)
Итак, есть немногосиняя кнопка справа, которая читает «Snapshot VM», и она открывает новую форму, чтобы вы могли выбрать для нее имя, которое выглядит так:
Я хочу сохранить индекс, выбранный в главной форме (строка, которую вы щелкнули перед нажатием кнопки), чтобы я мог вызвать функцию snapshotVM
из моей DLL, которая выглядит следующим образом:
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
, если я вообще должен это делать, или есть какой-то обходной путь?Буду признателен за любую помощь, включая просьбу о разъяснении, потому что я чувствую, что это немного беспорядок, и я не объяснил правильно, но я буду ждать предложений для правок.