首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调整窗体宽度以匹配SplitContainer大小

调整窗体宽度以匹配SplitContainer大小
EN

Stack Overflow用户
提问于 2017-05-11 10:56:10
回答 1查看 1.3K关注 0票数 3

我在窗体中有一个SplitContainer,其Dock属性设置为Fill .SplitPanel1,其中包含一个picturebox,因此,当picturebox大小减小时,窗体的右侧有空白处。

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

我试过了

代码语言:javascript
复制
Myform.Size = Myform.splitContainer1.Size;

从发射表格上。

但这不是working.What我做错了吗?

更新:

截图

设计视图

这里是Design,您可以看到溢出面板填充了表单。有两个panels.The左面板包含一个图片框,右边面板包含另一个面板。

RuntimeView

这是运行时view.You可以看到picturebox大小已经减少了,我已经将拆分容器设置为有边框,并且占据了完整的表单

这是我在上面启动表单的主表单后面的代码。

代码语言:javascript
复制
myform.endPointPictureBox1.Width = myform.splitContainer1.Panel1.Width/2;
myform.endPointPictureBox1.Height = myform.splitContainer1.Panel1.Height;
myform.endPointPictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;

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

代码语言:javascript
复制
splitContainer1.SplitterDistance = endPointPictureBox1.Width;
splitContainer1.Width = endPointPictureBox1.Width + splitContainer1.Panel2.Width;
this.Width = splitContainer1.Width;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-14 10:51:04

更新2

下面是您需要这样做的代码:

代码语言:javascript
复制
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;
    }
}

我是按一下按钮来做这件事的,但我认为没有什么不同。

其结果如下:

在单击之前:

单击后:

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43913423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档