在form1中,我有一个方法,我将其更改为public:
public bool ComparingImages(Bitmap File1)
{
}
然后我创建了一个新的类,并做了:
private Form f1;
public SimulateDownloads(Form form1)
{
f1 = form1;
}
然后在新的类底部的另一种方法我做了:
bool downloaded = f1.ComparingImages(test);
但是f1不包含ComparingImages
我还尝试添加到form1构造函数:
private SimulateDownloads simdownloads;
public Form1()
{
InitializeComponent();
simdownloads = new SimulateDownloads(this);
但我不想先运行这个程序,我希望现在不运行这个程序就可以调用form1中的ComparingImages方法,从新类中调用它。
您遇到的问题是您的SimulateDownloads
方法正在接收类型为Form
而不是Form1
的对象。记住,您将公共方法放在一个名为Form1
的类上,但没有将其添加到基本Form
类中!
试试这个:
// (This is in your other form, not Form1)
private Form1 f1;
public SimulateDownloads(Form1 form1)
{
f1 = form1;
}
然后你应该可以用你的另一种形式来做这件事:
bool downloaded = f1.ComparingImages(test);
听起来ComparingImages
根本不应该在form1中。创建一个新的类Utils
或类似的类,并将ComparingImages
放入该类中。然后你可以使用
bool downloaded = new Utils().ComparingImages(test); //or Utils.ComparingImages(test); if you make it static
来自SimulateDownloads
和form1