C#如何通过代码调用按钮点击函数而非仅用户点击触发
解决直接调用按钮Click事件处理方法的问题
嘿,作为C#新手碰到这种情况太正常啦,我来帮你捋明白~
首先,你之前尝试的Exitbtn.Click += new EventHandler(Exitbtn_Click);是给按钮注册点击事件,意思是告诉程序“当用户点击Exitbtn按钮时,执行Exitbtn_Click方法”,这可不是调用方法的方式,所以自然不会触发退出逻辑啦。
那要直接调用这个Click事件里的逻辑,有两种方式:
方式一:直接调用事件处理方法(传对参数)
因为Exitbtn_Click方法的签名要求两个参数:sender(触发事件的对象)和EventArgs(事件参数),所以你直接调用的时候得给这两个参数传值:
// 在你需要退出的代码段里 ...do something... Exitbtn_Click(null, EventArgs.Empty);
null:因为不是按钮点击触发的,所以sender可以传nullEventArgs.Empty:表示空的事件参数,这是.NET提供的默认空参数实例
方式二:抽离独立方法(更推荐)
其实更好的做法是把退出的核心逻辑单独写成一个方法,这样不管是按钮点击还是其他地方调用都很方便,代码也更清晰:
// 单独的退出方法 private void ExitApplication() { Application.Exit(); } // 按钮点击事件里调用这个方法 private void Exitbtn_Click(object sender, EventArgs e) { ExitApplication(); } // 在其他需要退出的地方直接调用 ...do something... ExitApplication();
这种方式符合代码的单一职责原则,以后如果要修改退出逻辑,只需要改ExitApplication这一个地方就好,不用到处找调用的地方。
内容的提问来源于stack exchange,提问作者Anthony Kalampogias
相关产品推荐
相关产品推荐

