在顶部的Form1中,我在构造函数中添加了一个bool变量,将其设置为false。 然后在按钮单击事件中我将其设置为true:
private void DriverVerifier_Click(object sender, EventArgs e)
{
if (MessageBox.Show("Are you Sure you want to Launch the Driver Verifier. Click Yes to Confirm and No to continue", "WinForm", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
{
verifier = false;
}
else
{
verifier = true;
verifiers(verifier);
ProcessRun.Processing(Environment.SystemDirectory, "verifier.exe", "", false, "");
}
}
然后在底部我创建了验证方法:
public static bool verifiers(bool verify)
{
return verify;
}
然后在新课程中我做了:
if (Form1.verifiers(
System.Threading.Thread.Sleep(500);
SetForegroundWindow(proc.MainWindowHandle);
但是当我在新类中执行Form1.verifiers时,它要求一个bool变量。 我想要做的只是检查form1验证器中的方法是真还是假。
我现在该怎么办?
答案 0 :(得分:0)
verifiers
方法需要bool
参数,因此您必须提供一个参数:
bool verifier = true;
if (Form1.verifiers(verifier))
{
System.Threading.Thread.Sleep(500);
SetForegroundWindow(proc.MainWindowHandle);
}
或 重写它,以便它不接受任何参数或提供无参数的重载:
public static bool verifiers()
{
...
return verify;
}
...
if (Form1.verifiers())
{
System.Threading.Thread.Sleep(500);
SetForegroundWindow(proc.MainWindowHandle);
}
答案 1 :(得分:0)
一件简单的事情......我们可以通过引用类名
来使用静态方法所以如果你创建一个静态方法验证器
的新类,我会优先考虑然后您可以通过Class1.Verifier()
从您的应用程序中调用它通过将它放在另一个类中,您将获得更改方法行为而无需更改Form1类的优势
我认为这可以帮助您放置方法并以propr方式使用它...
答案 2 :(得分:0)
我认为
if (Form1.verifiers(
System.Threading.Thread.Sleep(500);
SetForegroundWindow(proc.MainWindowHandle);
本来应该是:
if (Form1.verifiers())
{
System.Threading.Thread.Sleep(500);
SetForegroundWindow(proc.MainWindowHandle);
}
在这种情况下,您需要将静态方法的构造函数更改为:
public static bool verifiers()