C# 自动下压控制装置不工作
不久前我问了一个问题。我得到了一个答案,当时效果很好。但现在,我也在尝试同样的方法,但没有效果。我有一个C# 自动下压控制装置不工作,c#,winforms,label,autosize,C#,Winforms,Label,Autosize,不久前我问了一个问题。我得到了一个答案,当时效果很好。但现在,我也在尝试同样的方法,但没有效果。我有一个表单和一个FlowLayoutPanel设置方式与答案相同,但它不起作用。Form都有FLowLayoutPanel已将AutoSize设置为true,并将FlowDirection设置为top-down,但表单是垂直增长的,无需按下progressBar控件和标签本身。以下是我的表单在点击按钮几次后的样子(按钮的代码与我链接的链接中接受的问题中的代码相同): 我遗漏了什么?好的,我已经测试
表单
和一个FlowLayoutPanel
设置方式与答案相同,但它不起作用。Form
都有FLowLayoutPanel
已将AutoSize
设置为true,并将FlowDirection
设置为top-down
,但表单是垂直增长的,无需按下progressBar
控件和标签本身。以下是我的表单在点击按钮几次后的样子(按钮的代码与我链接的链接中接受的问题中的代码相同):
我遗漏了什么?好的,我已经测试了您在之前的帖子中建议的解决方案,它对我来说运行良好。。。
测试这些东西:
确保标签和进度条都位于FlowLayoutPanel内
如果您的意思是它是水平增长的,那么在切换到新行之前,将FlowLayoutPanel的MaximumSize宽度设置为它可以有多宽(并从那里垂直增长!)
否则,请提供更多信息,以便我可以从那里帮助你
试试这个,看看是否有效
public Form1()
{
InitializeComponent();
Size = new Size(400, 150);
AutoSize = true;
AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowOnly;
FlowLayoutPanel panel = new FlowLayoutPanel();
panel.Size = new Size(200, 150);
panel.MaximumSize = new System.Drawing.Size(panel.Width, int.MaxValue);
panel.FlowDirection = FlowDirection.TopDown;
panel.AutoSize = true;
panel.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowOnly;
Controls.Add(panel);
Label label = new Label();
label.Text = "Starting text!\n";
label.Padding = new System.Windows.Forms.Padding(0, 0, 0, 50);
label.AutoSize = true;
panel.Controls.Add(label);
ProgressBar progressBar = new ProgressBar();
progressBar.Location = new Point(0, 125);
progressBar.Size = new Size(190, 25);
panel.Controls.Add(progressBar);
Button button = new Button();
button.Location = new Point(275, 50);
button.Text = "Click me!";
button.Click += (object sender, EventArgs e) => { label.Text += "some more text, "; };
Controls.Add(button);
}
你能把你测试过的工作项目发给我(上传到某个地方并在这里分享链接)吗?当时我接受了答案,但现在由于某种原因,它不再适用于我了。不知道发生了什么变化。这一行使它工作起来panel.MaximumSize=new System.Drawing.Size(panel.Width,int.MaxValue)代码>谢谢!令人惊叹的!很高兴我能帮上忙:)