如何优化代码 [英] How to Optimize the code

查看:81
本文介绍了如何优化代码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你好,

我想优化下面的代码.这样可以快速工作.

Hello,

I want to optimize my below code. so it will work fast.

tabControlEx1.TabPages[k].Controls.Clear();
                        FlowLayoutPanel flp = new FlowLayoutPanel();
                        flp.Dock = DockStyle.Fill;

                        Button btnFirstSms = new Button();
                        btnFirstSms.Text = "First";
                        btnFirstSms.Click += new EventHandler(btnFirstSms_Click);
                        btnFirstSms.Font = new Font(btnFirstSms.Font, FontStyle.Bold);
                        btnFirstSms.Height = 32;

                        Button btnPrevSms = new Button();
                        btnPrevSms.Text = "Previous";
                        btnPrevSms.Click += new EventHandler(btnPrevSms_Click);
                        btnPrevSms.Font = new Font(btnPrevSms.Font, FontStyle.Bold);
                        btnPrevSms.Height = 32;

                        Button btnNextSms = new Button();
                        btnNextSms.Text = "Next";
                        btnNextSms.Click += new EventHandler(btnNextSms_Click);
                        btnNextSms.Font = new Font(btnNextSms.Font, FontStyle.Bold);
                        btnNextSms.Height = 32;

                        Button btnLastSms = new Button();
                        btnLastSms.Text = "Last";
                        btnLastSms.Click += new EventHandler(btnLastSms_Click);
                        btnLastSms.Font = new Font(btnLastSms.Font, FontStyle.Bold);
                        btnLastSms.Height = 32;

                        lblMessageSms = new Label();
                        lblMessageSms.Dock = DockStyle.Fill;
                        lblMessageSms.Font = new Font(lblMessageSms.Font, FontStyle.Bold);
                        lblMessageSms.ForeColor = Color.Black;
                        lblMessageSms.Width = 600;

                        SplitContainer sc = new SplitContainer();
                        sc.Orientation = Orientation.Horizontal;
                        sc.Dock = DockStyle.Fill;
                        sc.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
                        sc.IsSplitterFixed = true;
                        sc.SplitterDistance = 20;

                        sc.Panel1.Controls.Add(dgSMS);
                        flp.Controls.Add(lblMessageSms);
                        flp.SetFlowBreak(lblMessageSms, true);
                        flp.Controls.Add(btnFirstSms);
                        flp.Controls.Add(btnNextSms);
                        flp.Controls.Add(btnPrevSms);
                        flp.Controls.Add(btnLastSms);
                        sc.Panel2.Controls.Add(flp);
                        
                        CalculateTotalPagesSms(DataTable);
                        if (totalpagesSms > 1)
                        {
                            btnFirstSms.Visible = true;
                            btnNextSms.Visible = true;
                            btnPrevSms.Visible = true;
                            btnLastSms.Visible = true;
                            lblMessageSms.Visible = true;
                        }
                        else
                        {
                            btnFirstSms.Visible = false;
                            btnNextSms.Visible = false;
                            btnPrevSms.Visible = false;
                            btnLastSms.Visible = false;
                            lblMessageSms.Visible = false;
                        }
                        DataGridView.DataSource = GetCurrentRecordsSms(DataTable, cpisms, PageSize);

                        tabControlEx1.TabPages[k].Controls.Add(sc);

推荐答案

我能看到的唯一用于优化的地方是"GetCurrentRecordsSms".其他所有事情都在做一些非常基本的事情,应该很快.
The only place I can see for optimisation is ''GetCurrentRecordsSms'' Everything else is doing something pretty basic and should be fast.


您可以减少一些代码.

You can reduce your code a bit.

tabControlEx1.TabPages[k].Controls.Clear();
            FlowLayoutPanel flp = new FlowLayoutPanel();
            flp.Dock = DockStyle.Fill;

            CalculateTotalPagesSms(DataTable);

            Button btnFirstSms = CreateButtons(totalpagesSms,"First");
            btnFirstSms.Click += new EventHandler(btnFirstSms_Click);

            Button btnNextSms = CreateButtons(totalpagesSms, "Next");
            btnNextSms.Click += new EventHandler(btnNextSms_Click);

            Button btnLastSms = CreateButtons(totalpagesSms, "Last");
            btnLastSms.Click += new EventHandler(btnLastSms_Click);

            Button btnPrevSms = CreateButtons(totalpagesSms, "Previous");
            btnPrevSms.Click += new EventHandler(btnPrevSms_Click);

            lblMessageSms = new Label();
            lblMessageSms.Dock = DockStyle.Fill;
            lblMessageSms.Font = new Font(lblMessageSms.Font, FontStyle.Bold);
            lblMessageSms.ForeColor = Color.Black;
            lblMessageSms.Visible = totalpagesSms > 1;
            lblMessageSms.Width = 600;

            SplitContainer sc = new SplitContainer();
            sc.Orientation = Orientation.Horizontal;
            sc.Dock = DockStyle.Fill;
            sc.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
            sc.IsSplitterFixed = true;
            sc.SplitterDistance = 20;

            sc.Panel1.Controls.Add(dgSMS);
            flp.Controls.Add(lblMessageSms);
            flp.SetFlowBreak(lblMessageSms, true);

            flp.Controls.Add(btnFirstSms);
            flp.Controls.Add(btnNextSms);
            flp.Controls.Add(btnPrevSms);
            flp.Controls.Add(btnLastSms);

            sc.Panel2.Controls.Add(flp);                      
          
            DataGridView.DataSource = GetCurrentRecordsSms(DataTable, cpisms, PageSize);

            tabControlEx1.TabPages[k].Controls.Add(sc);





private Button CreateButtons(int totalPageSms, string text)
       {
           Button btn = new Button();
           btn.Text = text;
           btn.Font = new Font(btn.Font, FontStyle.Bold);
           btn.Height = 32;
           btn.Visible = totalPageSms > 1;
           return btn;
       }


这篇关于如何优化代码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆