【问题标题】:MS visual Studio Forms application : Can't get form to have less width then 100 PixelsMS Visual Studio Forms 应用程序:无法让表单的宽度小于 100 像素
【发布时间】:2016-02-26 02:53:22
【问题描述】:

这里的第一个问题,如果我可以改进一些东西,请告诉我!

我目前正在制作“多表单”应用程序。 它目前由一个带有各种按钮的启动栏组成,并且启动栏的宽度为 150 像素(这个很好)。 当用户按下按钮时,另一个面板将在第一个面板旁边打开 10 个像素,宽度为 75。(我想在此处添加当前按钮“子类别”)

但是当调用第二种形式时,它一直将自己设置为 100 像素(我认为它是 100 像素,因为它看起来大约是第一个面板的 2/3)

    private void button_click(object sender, EventArgs e) 
    {
        if (activated == 0)
        {
            var new_y = new form2();
            new_y.AutoSize = false;
            new_y.Width = 75;
            new_y.Height = this.Height;
            new_y.Show();
            activated = 1;
        }
    }   

我去掉了一些额外的代码(定位的东西),所以如果这可能导致任何问题,请告诉我。

但我的问题是:如何防止表单将其自身设置为 100 像素宽度并使其成为我想要的 75 像素宽度?

提前致谢!

附言。 FormBorderStyle 设置为无

【问题讨论】:

  • 您是否启用了自动调整大小?
  • @Jacobr365 啊,是的,我把它弄错了,它可能只是硬编码到某个最小值。
  • 是的,这就是我的意思。您还设置了自动缩放模式吗?
  • @Jacobr365 是的,我确实得到了默认打开的字体。会这样吗?
  • 有可能。可能值得将其设置为 none 并看看会发生什么。

标签: c# visual-studio-2015


【解决方案1】:

尝试设置 MinimumSize 属性:

new_y.Width = 75;
new_y.Height = this.Height;
new_y.MinimumSize = new Size(75, this.Height);

【讨论】:

  • @RyanGunn 的答案和你的答案的组合似乎有效。现在的代码如下: new_y.Size = new System.Drawing.Size(75, this.Height); new_y.Width = 75; new_y.MinimumSize = new Size(75, this.Height);
  • 如果设置 Size 属性,则不必设置 Width 和 Height。
  • 我想了很多 :) 我真的是刚开始接触 C# 并且完全混淆了发生的事情,所以我真的只是尝试了任何东西哈哈。感谢您的帮助!
猜你喜欢
  • 2022-06-11
  • 2014-06-27
  • 2020-04-08
  • 1970-01-01
  • 2019-12-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-11
相关资源
最近更新 更多