C# 鼠标单击事件不显示';不要点击调用
在窗体类之外为MouseClick事件分配函数时出现问题 当我单击鼠标按钮时,事件不会调用C# 鼠标单击事件不显示';不要点击调用,c#,.net,winforms,mouseclick-event,C#,.net,Winforms,Mouseclick Event,在窗体类之外为MouseClick事件分配函数时出现问题 当我单击鼠标按钮时,事件不会调用 class Animator { Form1 _form = new Form1(); Timer GameTimer; PictureBox GameWindow; public Animator(Timer gameTimer, PictureBox gameWindow) { GameTimer.Tick += GameTimer_Tic
class Animator
{
Form1 _form = new Form1();
Timer GameTimer;
PictureBox GameWindow;
public Animator(Timer gameTimer, PictureBox gameWindow)
{
GameTimer.Tick += GameTimer_Tick;
GameTimer.Start();
_form.MouseClick += Mouse_Clicked;
GameWindow.Paint += GameWindow_Paint;
}
private void Mouse_Clicked(object sender, MouseEventArgs e)
{
Console.Write("I AM CLICKED");
}
如果此方法是从现有表单调用的,那么您可能只需要一种方式将表单实例传递给该方法(当前您正在与新表单交互)。一种方法是在方法中添加
Form1
参数:
class Animator
{
private Form1 _form;
public Animator(Form1 form)
{
_form = form;
_form.MouseClick += Mouse_Clicked;
// rest of code ommitted...
然后,当您从Form1
实例化Animator
时,您将传入表单的一个实例:
Animator animator = new Animator(this);
class Animator
{
private Form1 _form = new Form1();
public Animator()
{
_form.MouseClick += Mouse_Clicked;
_form.Show();
// rest of code ommitted...
如果您实际上打算创建
Form1
的新实例,则需要调用\u form.Show
,以便与表单交互:
Animator animator = new Animator(this);
class Animator
{
private Form1 _form = new Form1();
public Animator()
{
_form.MouseClick += Mouse_Clicked;
_form.Show();
// rest of code ommitted...
如果此方法是从现有表单调用的,那么您可能只需要一种方式将表单实例传递给该方法(当前您正在与新表单交互)。一种方法是在方法中添加
Form1
参数:
class Animator
{
private Form1 _form;
public Animator(Form1 form)
{
_form = form;
_form.MouseClick += Mouse_Clicked;
// rest of code ommitted...
然后,当您从Form1
实例化Animator
时,您将传入表单的一个实例:
Animator animator = new Animator(this);
class Animator
{
private Form1 _form = new Form1();
public Animator()
{
_form.MouseClick += Mouse_Clicked;
_form.Show();
// rest of code ommitted...
如果您实际上打算创建
Form1
的新实例,则需要调用\u form.Show
,以便与表单交互:
Animator animator = new Animator(this);
class Animator
{
private Form1 _form = new Form1();
public Animator()
{
_form.MouseClick += Mouse_Clicked;
_form.Show();
// rest of code ommitted...
你的表格没有显示。至少,不是这段代码中的那个。您所展示的示例并没有重现这个问题。发布问题时请注意。@RufusL Form1已显示。OP把鼠标键分配到了错误的形式。@RufusL我很有信心证据都在那里。@LarsTech是的,我想你是对的。我删除了我的评论。:)你的表格没有显示。至少,不是这段代码中的那个。您所展示的示例并没有重现这个问题。发布问题时请注意。@RufusL Form1已显示。OP把鼠标键分配到了错误的形式。@RufusL我很有信心证据都在那里。@LarsTech是的,我想你是对的。我删除了我的评论。:)