我有一个应用程序很久以前就被一些开发人员开发了,现在我们开始提供维护。
当我浏览代码时,我可以看到点击事件“private void _menuNewView_Click(object sender, EventArgs e)
”,当我放置一个断点并从UI开始操作时,它不会触发,这是一个奇怪的问题。
当我打开设计视图时,我打开上下文菜单条,然后点击它正在触发点击事件“menu "newview"
后面的代码的private void _menuNewView_Click(object sender, EventArgs e)"
。
但是从UI我启动了应用程序,并在代码中放置了click event
的断点并执行了操作newview但它没有触发,任何人都可以在这里帮助我,新的视图操作现在还没有完成
这是点击事件
答案 0 :(得分:7)
您可以通过两种方式触发它:
订阅按钮的Click事件:
this.button1.Click += new EventHandler(button1_Click);
//there you have an event:
private void button1_Click(object sender, EventArgs e)
{
//code inside event...
}
或使用实际代码:
button1_Click(new object(), new EventArgs());
答案 1 :(得分:1)
我来到这里是为了帮助触发我在手工制作事件的工具线上的Click事件,所以我没有方法可以直接调用。但事实证明,tsi有一个名为
的方法PerfomClick()
触发点击事件;我不想找一个方法,所以我在这里分享它,并希望在同样的情况下帮助其他人。
如果有帮助,我的代码看起来像这样:
点击上下文菜单中的第二个工具条项目
ContextMenuStrip.Items[1].PerformClick();
然后它自己的事件
tsmi.Click += (s, e) =>
{
BackUpVSSolution(@"C:\temp\");
};
它就像一个魅力
我想我也可以加上这个。 如果你只是想开始什么样的proses与文件类型或其他什么相关你可以把它改成像
tsmi.Click += (s, e) =>
{
Process.Start("C:\temp\temptext.txt");
};
这将打开您的默认文本编辑器程序。
答案 2 :(得分:0)
如果在创建Click_Event之后按钮控件名称发生更改,则会发生此问题。 所以我认为,复制您的代码并从代码视图中删除事件,运行您的解决方案并且肯定会发生错误,单击错误,这将指导您到Designer生成的代码。删除/注释该部分(Click_Event_Name的单行)。重建您的代码并创建一个新的Click_Event并粘贴您复制的代码。 很好,如果你已经找到任何解决方案。 希望这有助于其他人遇到同样的麻烦。