[英]How to call a c# method from ihtmlelement button click in BHO using c#?
[英]How to call button click event using Normal method in c#?
我有一個方法名稱 loadTest123()。 我試圖從 loadTest123() 調用 Button1_Click 事件。 但是事件沒有發生。 我正在嘗試使用 Button1_Click 事件中的斷點進行調試但未觸發。
例如:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Xml.Linq;
namespace Test
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
loadTest123();
}
public Button Coke = new Button();
public void loadTest123()
{
Coke.Click += new EventHandler(button1_Click);
}
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("Hello!!!");
}
}
}
請幫我解決這個問題。
您所做的只是綁定事件,您還沒有調用它。 您必須調用該事件才能實際運行它。
做這個,
button1.PerformClick();
要么,
button1_Click(null, new EventArgs());
用你的方法。
loadTest123()
方法中的內容用於訂閱事件,除非您單擊該事件,否則它不會觸發訂閱的方法。
另外,您還附加了button1_Click
to Click
事件,但沒有使用該名稱聲明任何方法。 您需要這樣的東西。
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("Hello!!!");
}
如果您希望以編程方式執行單擊,則可以使用按鈕上的PerfromClick
方法。
Coke.PerformClick();
您創建了按鈕但未添加到控件中,這是故意的嗎?
參見下面的代碼和注釋
public Form1()
{
InitializeComponent();
loadTest123();
}
public Button Coke = new Button();
public void loadTest123()
{
// BELOW LINE IS ONLY FOR REGISTER YOUR BUTTON'S CLICK EVENT
Coke.Click += new EventHandler(button1_Click);
// FIRE YOUR EVENT IN CODE BEHIND
Coke.PerformClick();
// OR
button1_Click(null, new EventArgs());
}
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("Hello!!!");
}
這對我有用:
InvokeOnClick(button, e);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.