创建新表单后,我无法在程序中调用它

本文关键字:程序 调用 新表单 表单 创建 | 更新日期: 2023-09-27 18:34:49

我不知道这个错误是如何产生的。这是我的代码和错误。我在解决方案资源管理器中创建了一个新窗体,并在主窗体中编写了这些代码。我确定我在下面使用的命中框是正确的。

 public partial class HomePageForm : Form
 {
    OptionsPageForm frmOptions;
 }
 private void HomePageForm_MouseClick(object sender, MouseEventArgs e)
 {
     if (this.homePageOptionsButtonHitBox.Contains(e.Location))
     {
         this.Enabled = false;
         frmOptions = new OptionsPageForm(this);
         frmOptions.Show();
     }
 }

这些是我在"frmOptions"中编写的代码 - 这就是我想调用的形式。

public partial class OptionsPageForm : Form
{
    OptionsPageForm frmHomePage;
    public OptionsPageForm(HomePageForm frmCreator)
    {
        InitializeComponent();
        frmHomePage =frmCreator;
    }
}

Visual Studio 给出的错误是:

无法隐式转换类型"我的Application_。主页表单"到"我的Application_。选项页面表单"。

这是我在此应用程序中所做的另一个表单调用,它与我对frmOptionsPage调用的结构相同,但它运行良好。

public partial class HomePageForm : Form
{
    GamePageForm frmGame;
}
private void HomePageForm_MouseClick(object sender, MouseEventArgs e)
{
    if (this.homePageStartButtonHitBox.Contains(e.Location))
    {
         this.Hide();
         frmGame = new GamePageForm(this);
         frmGame.Show();
    }
}

(以游戏页面形式(

public partial class GamePageForm : Form
{
    HomePageForm frmHomePage;
    public GamePageForm(HomePageForm frmCreator)
    {
        InitializeComponent();
        frmHomePage = frmCreator;
    }
}

我现在真的很想得到一些帮助,拜托。

创建新表单后,我无法在程序中调用它

我认为您需要像这样将鼠标单击事件处理程序移动到类中

public partial class HomePageForm : Form
{
    GamePageForm frmGame;
    private void HomePageForm_MouseClick(object sender, MouseEventArgs e)
    {
         if (this.homePageStartButtonHitBox.Contains(e.Location))
        {
             this.Hide();
             frmGame = new GamePageForm(this);
             frmGame.Show();
        }
    }
}