Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.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# - Fatal编程技术网

C# 向以编程方式添加的按钮添加操作

C# 向以编程方式添加的按钮添加操作,c#,C#,我正在创建一个程序,其中需要有一个与主机上的不同内容相关的按钮列表。 我已经实现了这一点,如下面的代码(示例代码)所示: 这将最终进入一个for循环,更多的按钮将出现在流程布局上,但我正在开始小规模的工作,以便以后不会出现问题。 这将按预期生成按钮(格式化也将在此处完成,但尚未完成) 我一直想知道的是,如何在按钮上添加单击事件/右键单击事件上下文菜单? 我可以将点击事件放在表单上固定的按钮和项目的代码中,但我不知道如何动态执行,因为每个目标机器上的按钮都不同 我在谷歌上搜索过,但没有找到我要找的

我正在创建一个程序,其中需要有一个与主机上的不同内容相关的按钮列表。 我已经实现了这一点,如下面的代码(示例代码)所示:

这将最终进入一个for循环,更多的按钮将出现在流程布局上,但我正在开始小规模的工作,以便以后不会出现问题。 这将按预期生成按钮(格式化也将在此处完成,但尚未完成)

我一直想知道的是,如何在按钮上添加单击事件/右键单击事件上下文菜单? 我可以将点击事件放在表单上固定的按钮和项目的代码中,但我不知道如何动态执行,因为每个目标机器上的按钮都不同

我在谷歌上搜索过,但没有找到我要找的东西(可能是因为我不确定搜索的关键词是什么)


我将如何做到这一点

您可以在新的
btn
对象的事件上使用
+=
操作符添加按钮单击事件处理程序:

// Add 10 buttons dynamically.
// Bind to the same method.
for (var i = 1; i <= 10; i += 1)
{
    Button btn = new Button();
    btn.Name = "Button" + i;
    btn.Text = "Item " + i;
    this.formLayoutProject.Controls.Add(btn);

    // Add handler.
    btn.Click += btn_Click;
}

您可以在新的
btn
对象的事件上使用
+=
操作符添加按钮单击事件处理程序:

// Add 10 buttons dynamically.
// Bind to the same method.
for (var i = 1; i <= 10; i += 1)
{
    Button btn = new Button();
    btn.Name = "Button" + i;
    btn.Text = "Item " + i;
    this.formLayoutProject.Controls.Add(btn);

    // Add handler.
    btn.Click += btn_Click;
}

您可以在新的
btn
对象的事件上使用
+=
操作符添加按钮单击事件处理程序:

// Add 10 buttons dynamically.
// Bind to the same method.
for (var i = 1; i <= 10; i += 1)
{
    Button btn = new Button();
    btn.Name = "Button" + i;
    btn.Text = "Item " + i;
    this.formLayoutProject.Controls.Add(btn);

    // Add handler.
    btn.Click += btn_Click;
}

您可以在新的
btn
对象的事件上使用
+=
操作符添加按钮单击事件处理程序:

// Add 10 buttons dynamically.
// Bind to the same method.
for (var i = 1; i <= 10; i += 1)
{
    Button btn = new Button();
    btn.Name = "Button" + i;
    btn.Text = "Item " + i;
    this.formLayoutProject.Controls.Add(btn);

    // Add handler.
    btn.Click += btn_Click;
}


添加
winforms
标记。添加解释为什么您不知道按钮应该做什么(即使它是动态添加的,您也应该事先知道它的行为)。添加
winforms
标记。添加解释为什么您不知道按钮应该做什么(即使它是动态添加的,您也应该事先知道它的行为)。添加
winforms
标记。添加解释为什么您不知道按钮应该做什么(即使它是动态添加的,您也应该事先知道它的行为)。添加
winforms
标记。添加解释为什么你不知道一个按钮应该做什么(即使它是动态添加的,你也应该事先知道它的行为)。这是否意味着我需要为每个可能的按钮预先制作一个处理程序?或者有没有一种方法,比如使用1个处理程序并获取按钮的名称来运行某些代码?@NoLiver92-当然可以。请参阅更新的答案。这太完美了!非常感谢。我将在我的应用程序中测试这一点,短时间内完全按照计划工作。再次感谢@Jason Faulkner
按钮。如果您单击鼠标右键(假设左键是主按钮),单击
将不会触发。好的,谢谢,太棒了。这是否意味着我需要为每个可能的按钮预先制作一个处理程序?或者有没有一种方法,比如使用1个处理程序并获取按钮的名称来运行某些代码?@NoLiver92-当然可以。请参阅更新的答案。这太完美了!非常感谢。我将在我的应用程序中测试这一点,短时间内完全按照计划工作。再次感谢@Jason Faulkner
按钮。如果您单击鼠标右键(假设左键是主按钮),单击
将不会触发。好的,谢谢,太棒了。这是否意味着我需要为每个可能的按钮预先制作一个处理程序?或者有没有一种方法,比如使用1个处理程序并获取按钮的名称来运行某些代码?@NoLiver92-当然可以。请参阅更新的答案。这太完美了!非常感谢。我将在我的应用程序中测试这一点,短时间内完全按照计划工作。再次感谢@Jason Faulkner
按钮。如果您单击鼠标右键(假设左键是主按钮),单击
将不会触发。好的,谢谢,太棒了。这是否意味着我需要为每个可能的按钮预先制作一个处理程序?或者有没有一种方法,比如使用1个处理程序并获取按钮的名称来运行某些代码?@NoLiver92-当然可以。请参阅更新的答案。这太完美了!非常感谢。我将在我的应用程序中测试这一点,短时间内完全按照计划工作。再次感谢@Jason Faulkner
按钮。如果您单击鼠标右键(假设左键是主按钮),单击
将不会触发。