在form1中我有一个方法我把它改为公开:
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方法从新类中调用它。
答案 0 :(得分:1)
您遇到的问题是,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);
答案 1 :(得分:0)
听起来你的ComparingImages
根本不应该在form1中。创建一个新的类Utils
或类似的类,并将ComparingImages
放在该类中。然后你可以使用
bool downloaded = new Utils().ComparingImages(test); //or Utils.ComparingImages(test); if you make it static
来自SimulateDownloads
和form1
的