Мне нужно написать функцию, чтобы я не мог писать один и тот же код снова и снова.Как передать форму в качестве параметра функции с помощью C#
вот код, который я хотел бы поставить его в функцию
Я бы сделать форму DepartmentsAdd
в переменную, так что я могу ра его функции. Кроме того, я должен передать этот массив string[] aa = { "add" }
этой функции, так как это 2 значения изменения моего кода.
Как это сделать, C#?
Я пробовал эту функцию до сих пор я получаю ошибки при использовании myform
public static void OpenMyForm(string sectionName, string[] keys, Form myform)
{
//make sure there are no other forms of the ame type open
foreach (Form form in Application.OpenForms)
{
if (form.GetType() == typeof(myform))
{
form.Activate();
return;
}
}
var newSignIn = new Verify();
// Set the Parent Form of the Child window.
newSignIn.MdiParent = this;
newSignIn.FormClosed += delegate
{
if (UserInfo.Autherized == true)
{
UserInfo.Autherized = false;
var role = new Roles();
if (role.hasAccess(sectionName, keys))
{
var newMDIChild = new myform();
// Set the Parent Form of the Child window.
newMDIChild.MdiParent = this;
// Display the new form.
newMDIChild.Show();
newSignIn.Close();
}
else
{
Common.Alert("You do not have a permissions to perform this action!");
}
}
};
newSignIn.Show();
}
}
здесь есть ошибки, которые я получаю
The type or namespace name 'myform' could not be found (are you missing a using directive or an assembly reference?)
и
Error 4 Keyword 'this' is not valid in a static property, static method, or static field initializer
ключевое слово " это «должно ссылаться на основную родительскую форму (то есть Main.cs
)
Спасибо, я исправил эту проблему, не делая статический метод, а также поставьте его в том же классе, который я хочу использовать. но проблема заключается не в создании нового экземпляра Формы. (т. е. 'var newMDIChild = new myform();') – Jaylen