【问题标题】:Buttons in FlowlayoutpanelFlowlayoutpanel 中的按钮
【发布时间】:2016-12-21 21:41:14
【问题描述】:

我为 flowlayoutpanel 中的每个数据行添加了一个按钮

foreach (var Item in query.OrderBy(x=> x.menu_sort))
            {
                var btn = new Button
                {
                    Name = Item.menu_name,
                    Text = Item.menu_description,
                    Tag = Item.menu_name,
                    Size = new Size(107, 50),
                    Font = new Font("B Nazanin",10)
                };

                MainPanel.Controls.Add(btn);

-----> 我想点击按钮并打开一个表单。

【问题讨论】:

  • 使用 onclick 事件,在那里你想启动表单。

标签: c# button click flowlayoutpanel


【解决方案1】:

我认为您想在运行时向控件添加事件处理程序,对吗? 你可以这样做:

btn.Click += new EventHandler(button_Click);

然后,你必须在某个地方实现 button_Click 方法,并使用正确的签名:

private void button_Click(object sender, System.EventArgs e)
{
   // Do stuff
   MyForm form = new MyForm();
   form.Show();
}

【讨论】:

    【解决方案2】:

    我想点击按钮并打开一个表单。

    在创建这些按钮时为这些按钮连接 Click() 事件:

        private void Foo()
        {
            foreach (var Item in query.OrderBy(x=> x.menu_sort))
            {
                var btn = new Button
                {
                    Name = Item.menu_name,
                    Text = Item.menu_description,
                    Tag = Item.menu_name,
                    Size = new Size(107, 50),
                    Font = new Font("B Nazanin",10)
                };
    
                btn.Click += Btn_Click;
    
                MainPanel.Controls.Add(btn);
            }
        }
    
        private void Btn_Click(object sender, EventArgs e)
        {
            Button btn = (Button)sender;
            // now do something with "btn", maybe based on btn.Tag?
        }
    

    【讨论】:

      猜你喜欢
      • 2014-05-15
      • 1970-01-01
      • 1970-01-01
      • 2014-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-18
      相关资源
      最近更新 更多