在另一个按钮上使用相同的代码

时间:2013-08-09 19:23:12

标签: c# windows button text tabpage

我多次使用完全相同的代码,我认为复制/粘贴所有内容效率很低。有没有办法让我们说button2使用与button1完全相同的代码而不复制/粘贴所有内容?

我的一些代码非常大,这就是我要问的原因。

我知道这个例子:

    private TabPage T
    {
        get { return (t.SelectedTab); }
    }

但是我不知道如何为此工作:(是的,有多种方法可以在我的应用程序中启用全屏模式)

        if (FormBorderStyle != FormBorderStyle.None)
        {
            FormBorderStyle = FormBorderStyle.None;
            WindowState = FormWindowState.Normal;
            WindowState = FormWindowState.Maximized;
            p1.BackColor = Color.White;
            p2.BackColor = Color.White;
            TopMost = true;
            c2.Visible = false;
            Wi.Visible = false;
            t1.Visible = false;
            F.Text = "Exit Full Screen";
            t2.Text = "Exit Full Screen";
        }
        else
        {
            FormBorderStyle = FormBorderStyle.Sizable;
            if (Environment.OSVersion.Version.Build >= 7000)
            {
                if (DWM.DwmIsCompositionEnabled())
                {
                    Color c = Color.FromArgb(255, 221, 220, 220);
                    TransparencyKey = c;
                    p1.BackColor = c;
                    p2.BackColor = c;
                    MARGINS mr = new MARGINS();
                    mr.T = 1800;
                    IntPtr h = Handle;
                    int result = DwmExtendFrameIntoClientArea(h, ref mr);
                }
            }
            TopMost = false;
            Wi.Visible = true;
            t1.Visible = true;
            F.Text = "Full Screen";
            t2.Text = "Full Screen";
        }

2 个答案:

答案 0 :(得分:1)

您还可以将代码放在一个单独的方法中,并在两个事件处理程序中调用该方法,不会混淆它的作用和对谁。他们可以确切地看到哪个按钮调用了什么方法或代码。在这种情况下,它将是相同的方法。

答案 1 :(得分:0)

只需将相同的事件处理程序应用于这两个按钮。这可以通过在设计器的事件选项卡中键入方法的名称,或通过在构造时手动添加事件处理程序来完成。

在这种情况下,将方法名称重构为对两个按钮都有意义的内容通常是一个好主意。如果点击button2点击button1_click,其他一些程序员可能会感到困惑。如果两个按钮都触发MakeFullscreen方法,那么它就不那么容易混淆了。