如何在c#中在运行时在框架或面板上添加按钮控件

时间:2009-09-15 17:22:26

标签: c# winforms

windows表单应用程序 我想要像pda设备一样的desine键盘。我想要一组中的所有数字键,因此我想在一个框架或面板上安排所有这些按钮。第二个框架或面板,包含所有特殊功能键。我想在阅读键盘的xml文件描述后在运行时设计这个键盘。  请指导我实施这个。

2 个答案:

答案 0 :(得分:5)

将控件添加到容器的简短版本(例如Button):

   Button myButton = new Button();
   myButton.Text = "some text";
   // attach event handler for Click event 
   // (assuming ButtonClickHandler is an existing method in the class)
   myButton.Click += ButtonClickHandler;
   myPanel.Controls.Add(myButton);
   // additional code for setting location and such for myButton

棘手的部分可能不是创建控件并将它们添加到容器中,而是将它们排列在一起以使其看起来很好。

答案 1 :(得分:0)

另一个例子是添加5个按钮

    int xlocation = 5;
    for (int i = 1; i <= 5; i++)
    {
         Button newButton = new Button();
         {
             newButton.Name = string.Format("Button{0}", i);
             newButton.Text = string.Format("Button {0}",i);
             newButton.Location = new System.Drawing.Point(xlocation, 10);
             newButton.Size = new System.Drawing.Size(75, 35);
             newButton.Click += btn_msg;
             this.Controls.Add(newButton);
         }
         xlocation = xlocation + 85;
    }

按钮点击活动

    public void btn_msg(object sender, EventArgs e)
    {
        Button btn = (Button)sender;
        conn.msgErr(btn.Name.ToString());
    }