0

C# Windows フォーム アプリケーションでプログラムを作成しています。

私がやっていることのシナリオを教えてください:

  1. プログラムにログインします(ログインシステム)
  2. プログラムはユーザーの許可値を決定します (私が 3 だとしましょう)
  3. 権限の値に応じて、メイン メニューにボタン 3a が表示されます。ユーザーが 2 より大きい許可値を持っている場合、ユーザーはすべてのボタン 3b を表示します。ユーザーの許可値が 2 未満の場合、ユーザーには 1 つのボタンしか表示されません
  4. ログアウトすると、.hide を使用してメイン メニューが非表示になり、ログイン フォームが再び表示されます。
  5. 別のユーザーにログインします (権限値 = 1)
  6. 本来あるべき 1 つだけでなく、すべてのボタンが表示されます。

権限の値に応じて、ログイン後にメインメニューを「やり直す」方法を知っている人はいますか?

4

2 に答える 2

0

もしかしてこれ?

        const int firstButtonY = 20;
        const int padding = 20;
        int currentY = firstButtonY;

        foreach (var control in this.Controls)
        {
            if (control.GetType() != typeof(System.Windows.Forms.Button))
                continue;

            var curButton = (Button) control;

            if (!curButton.Visible)
                continue;

            curButton.Top = currentY;
            currentY += padding + curButton.Height;

        }
于 2012-12-05T22:25:14.560 に答える