Как добавить кнопку управления на рамке или панели во время выполнения в C # - PullRequest
2 голосов
/ 15 сентября 2009

Окно формы приложения Я хочу, чтобы клавиатура desine была похожа на устройство pda. Я хочу, чтобы все цифровые клавиши были в одной группе, поэтому я хочу расположить все эти кнопки на одной рамке или панели. второй кадр или панель, которые содержат все специальные функциональные клавиши. Я хочу разработать эту клавиатуру во время выполнения после прочтения описания файла XML клавиатуры. пожалуйста, помогите мне реализовать это.

Ответы [ 2 ]

5 голосов
/ 15 сентября 2009

Краткая версия добавления элемента управления в контейнер (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

Сложной задачей, вероятно, будет не создание элементов управления и добавление их в контейнер, а их упорядочение, чтобы оно выглядело хорошо.

0 голосов
/ 03 августа 2017

другой пример добавления 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());
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...