我不知道这个错误是如何产生的。这是我的代码和错误。 我在解决方案资源管理器中创建了一个新表单,并以我的主表单编写了这些代码。我确定我在下面使用的hitbox是正确的。
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提供的错误是:
无法将“My Application_.MainPageForm”类型隐式转换为“My Application_.OptionsPageForm”。
这是我在此应用程序中执行的另一种表单调用,它与我对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();
}
}
(在Gamepage表格中)
public partial class GamePageForm : Form
{
HomePageForm frmHomePage;
public GamePageForm(HomePageForm frmCreator)
{
InitializeComponent();
frmHomePage = frmCreator;
}
}
我现在真的想得到一些帮助。
答案 0 :(得分:0)
我认为您需要将鼠标Click事件处理程序移动到类
中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();
}
}
}