0

私はまったく同じコードを複数回使用していますが、すべてをコピーして貼り付けるだけでは非常に効率が悪いと思いました。すべてをコピー/貼り付けせずに、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";
        }
4

2 に答える 2

1

コードを別のメソッドに配置し、両方のイベント ハンドラーでメソッドを呼び出すこともできます。これにより、それが誰のために行われるかについて混乱することはありません。どのボタンがどのメソッドまたはコードを呼び出しているかを正確に確認できます。この場合も同じ方法になります。

于 2013-08-09T19:38:55.913 に答える
0

両方のボタンに同じイベント ハンドラーを適用するだけです。これは、デザイナーの [イベント] タブにメソッドの名前を入力するか、作成時にイベント ハンドラーを手動で追加することで実行できます。

このような場合、メソッド名をリファクタリングして、両方のボタンが呼び出す意味のある名前にすることをお勧めします。クリックbutton2が発火した場合button1_click、他のコーダーは混乱する可能性があります。両方のボタンがMakeFullscreenメソッドを起動すると、混乱が少なくなります。

于 2013-08-09T19:25:31.523 に答える