如何在堆栈面板上创建一个新按钮,可能在类文件中
public static void addbtn() { Page1 p1 = new Page1(); Button btn = new Button(); p1.stackPanel1.Children.Add(btn); }
我确定这不是正确的,同时我如何给它一个事件处理程序。
我的目标是在form1上创建一个按钮,只需单击form2中的按钮。
请帮我解决这个问题。谢谢!
答案 0 :(得分:1)
您的代码应该有效。您可以向Button添加属性/事件,如:
Button btn = new Button();
btn.Content = "Press me";
btn.Click = (sender, e) => { *your handling code* };
答案 1 :(得分:1)
您正在将按钮添加到刚刚创建的Page1对象中,该对象可能不是向用户显示的对象。
如果您在定义Page1本身的同一个类中,则可以使用
this.stackpanel1.children.add(btn)
虽然注意这必须是实例方法而不是静态方法,否则它将不知道“this”指的是什么。
如果这不是同一个类,那么你必须向它传递一个对你想要添加按钮的对象的引用。像这样:
public static void addbtn(Page1 p1)
{
Button btn = new Button();
p1.stackPanel1.Children.Add(btn);
}
并且您将传递要添加按钮的Page1的实际实例。