gpt4 book ai didi

c# - 调整表单宽度以匹配 SplitContainer 大小

转载 作者:行者123 更新时间:2023-11-30 16:44:06 32 4
gpt4 key购买 nike

我在表单中有一个 SplitContainer,Dock 属性设置为 Fill。SplitPanel1 包含一个图片框,因此当图片框大小减小时,表单的右侧有空格。

如何调整表单大小以使其与其内容相匹配?

我试过了

Myform.Size = Myform.splitContainer1.Size;

来自启动表单。

但这不起作用。我做错了什么?

更新:

截图

设计 View

这是此处的设计 View ,您可以看到 spiltpanel 填充了表单。有 2 个面板。左侧面板包含一个图片框,右侧面板包含另一个面板。

enter image description here

运行时 View

这是运行时 View 。你可以看到图片框的尺寸变小了。我已经将splitcontainer设置为有边框并且它占据了完整的形式

enter image description here

这是主窗体背后的代码,我在其中启动上面的窗体

myform.endPointPictureBox1.Width = myform.splitContainer1.Panel1.Width/2;
myform.endPointPictureBox1.Height = myform.splitContainer1.Panel1.Height;
myform.endPointPictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;

在第二种形式中,我执行以下 Load 事件

splitContainer1.SplitterDistance = endPointPictureBox1.Width;
splitContainer1.Width = endPointPictureBox1.Width + splitContainer1.Panel2.Width;
this.Width = splitContainer1.Width;

最佳答案

更新 2

这是您需要执行此操作的代码:

private void button1_Click(object sender, EventArgs e)
{
pictureBox1.Image = Image.FromFile(@"c:\Users\Admin\Desktop\tmp.png");
if(splitContainer1.Orientation== Orientation.Vertical)
{
var prevWidthPanel2 = splitContainer1.Panel2.Width;
splitContainer1.SplitterDistance = pictureBox1.Image.Width;
this.Width = (this.Width - splitContainer1.Panel2.Width) + prevWidthPanel2;
splitContainer1.SplitterDistance = pictureBox1.Width;
}
}

我是在点击按钮时这样做的,但我认为没有区别。
结果如下:

点击前:

enter image description here

点击后: enter image description here

关于c# - 调整表单宽度以匹配 SplitContainer 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43913423/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com