Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 鼠标单击事件不显示';不要点击调用_C#_.net_Winforms_Mouseclick Event - Fatal编程技术网

C# 鼠标单击事件不显示';不要点击调用

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

在窗体类之外为MouseClick事件分配函数时出现问题

当我单击鼠标按钮时,事件不会调用

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是的,我想你是对的。我删除了我的评论。:)