c#按钮单击新表格需要很长时间才能加载

时间:2019-01-17 15:04:56

标签: c# winforms

我点击按钮弹出了一个新表格,需要一段时间才能加载。以下是我的

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace CashPOS
{
   public partial class SubItems : Form
   {
      CashSales cashSalesForm;
      List<string> itemList= new List<String>();
      public SubItems()
      {
         InitializeComponent();
         addItemToList();
         getMainFormInfo();
      }

      private void getMainFormInfo()
      {
         cashSalesForm = new CashSales();
         createItemBtn(itemList, subItemPanel, itemBtnClicked);
      }

      private void addItemToList()
      {
         itemList.Add("abc12");
         itemList.Add("abc13");
         itemList.Add("abc14");
         itemList.Add("abc15");
         itemList.Add("abc16");
         itemList.Add("abc17");
         itemList.Add("abc18");
         itemList.Add("abc19");
         itemList.Add("abc20");
         itemList.Add("abc21");
         itemList.Add("abc22");
         itemList.Add("abc23");
         itemList.Add("abc24");
         itemList.Add("abc25");
         itemList.Add("abc26");
         itemList.Add("abc27");
         itemList.Add("abc28");
         itemList.Add("abc29");
         itemList.Add("abc30");
         itemList.Add("abc31");
         itemList.Add("abc32");
         itemList.Add("abc33");
         itemList.Add("abc34");
         itemList.Add("abc35");
         itemList.Add("abc36");
         itemList.Add("abc37");
         itemList.Add("abc38");
         itemList.Add("abc39");
      }

      protected void itemBtnClicked(object sender, EventArgs e)
      {
         float unitPrice = 0.0f;
         Button btn = sender as Button;
         string itemSelected = btn.Text;
      }

      public void createItemBtn(List<String> itemList, Control panel, EventHandler handler)
      {
         for (int i = 0; i < itemList.Count; i++)
         {
            Button newButton = new Button();
            newButton.Width = 203;
            newButton.Height = 132;
            newButton.AutoSize = false;
            newButton.Name = "newBtn" + i;
            newButton.Text = itemList[i].ToString();
            // btnList.Add(newButton);
            panel.Controls.Add(newButton);
         }        
      }
   }
}

这是从以下按钮单击事件打开的表单

protected void itemBtnClicked(object sender, EventArgs e)
{
   Button btn = sender as Button;
   string itemSelected = btn.Text;
   SubItems sub = new SubItems();
   sub.Show();
}

我不确定createItemBtn是否会大量延迟它,因为当我删除此函数时,它将立即打开表单,但是使用此函数,大约需要1.5秒才能打开表单。有没有更好的方法来减少时间?

0 个答案:

没有答案