为什么我的设计只适用于小屏幕尺寸?

Why is my design works fine only with small screen sizes?

我已经完全按照这个很棒的教程使用 FontAwsome.Sharp

设计现代 UI

RJ Code Advance Modern UI

我有两个问题,首先在表单设计模式下,一切都如预期的那样,但在调试时,控件被遗漏了,我不知道为什么!

这是我在设计模式下的表单:

这是它在调试中的样子: [][]

表单有两个停靠面板和一些 IconButtons,这是当前属性:

panelMenu Panel

Dock Left
Size 231, 687

IconButtons

Size 231, 60
Dock Top
FlatStyle Flat
ImageAlign MiddleLeft
TextAlign MiddleLeft
TextImageRelation ImageBeforeText

第二期,就算设计对了这个方法: ActivateButton(object senderBtn, Color color) 根本不做任何事情它应该更改 IconButtonsBackColor ,移动图标并显示按钮的侧面小边框。 我将代码与源代码进行了比较,没有问题

 public partial class MainForm : Form
{
    // Fields
    private IconButton currentBtn;
    private Panel leftBorderBtn;
    private Form currentChildForm;

    public MainForm()
    {
        InitializeComponent();
        leftBorderBtn = new Panel();
        leftBorderBtn.Size = new Size(7, 60);
        panelMenu.Controls.Add(leftBorderBtn);
       
    }
    private struct RGBColors
    {

        public static Color color1 = Color.FromArgb(172, 126, 241);
        public static Color color2 = Color.FromArgb(249, 118, 176);
        public static Color color3 = Color.FromArgb(253, 138, 114);
        public static Color color4 = Color.FromArgb(95, 77, 221);
        public static Color color5 = Color.FromArgb(249, 88, 155);
        public static Color color6 = Color.FromArgb(24, 161, 251);


    }
    // Methods
    private void ActivateButton(object senderBtn, Color color)
    {
      if (currentBtn != null)
        {
            DisableButton();
            currentBtn = (IconButton)senderBtn;
            currentBtn.BackColor = Color.FromArgb(37,36,81);
            currentBtn.ForeColor = color;
            currentBtn.TextAlign = ContentAlignment.MiddleCenter;
            currentBtn.IconColor = color;
            currentBtn.TextImageRelation = TextImageRelation.TextBeforeImage;
            currentBtn.ImageAlign = ContentAlignment.MiddleRight;
            // Left Border Button
            leftBorderBtn.BackColor = color;
            leftBorderBtn.Location = new Point(0, currentBtn.Location.Y);
            leftBorderBtn.Visible = true;
            leftBorderBtn.BringToFront();

        }


    }

    // Disable Button
    private void DisableButton()
    {
        if (currentBtn != null)
        {
            currentBtn.BackColor = Color.FromArgb(31, 30, 68);
            currentBtn.ForeColor = Color.Gainsboro;
            currentBtn.TextAlign = ContentAlignment.MiddleLeft;
            currentBtn.IconColor = Color.Gainsboro;
            currentBtn.TextImageRelation = TextImageRelation.ImageBeforeText;
            currentBtn.ImageAlign = ContentAlignment.MiddleLeft;
        }
    }

    private void btnItems_Click(object sender, EventArgs e)
    {
        ActivateButton(sender, RGBColors.color1);
        
    }

我正在使用 visual studio 2015。 很抱歉post,但非常感谢您的帮助。

编辑#1:我已经构建了表格并在笔记本电脑上使用了它,设计还不错问题出在我当前的 43 英寸屏幕上,有没有适合所有屏幕的方法?

我不太清楚,但看起来你的屏幕比例是 125% 而不是 100%。 这是可能的?我在用户电脑上制作的应用程序也遇到了类似的问题,就是因为这个原因。