在滚动的全尺寸和适合的尺寸之间切换图片

时间:2019-11-03 16:26:54

标签: c# .net winforms

我正在Visual Studio的Microsoft教程中扩展PictureBox示例。我有一个层次结构:窗体-TableLayoutPanel-面板-PictureBox; tableLayoutPanel设置为2x2网格; Panel设置为跨越前两列,因此它占据了窗体的顶部,并且tableLayoutPanel网格的左下方单元格中有一个复选框,而其右下方则有一些按钮。

我有一个按钮可以选择图像并将其显示在图片框中。我想选中复选框以使图像以空间允许的最大尺寸适合图片框,取消选中复选框以显示全尺寸图像的任何部分将适合图片框,并使用滚动条在视图中移动该视图

当我选中复选框时,显示的图片将按照我的意愿显示。当我取消选中该复选框时,它会显示图像中适合该空间的那部分,但不会显示滚动条。如何来回切换,以便当图像大于图片框时获得滚动条,而不是当图像适合于空间时,而不是当图像都位于TableLayoutPanel的前两个单元格中时?

    private void checkBox1_CheckedChanged(object sender, EventArgs e)
    {
        if (checkBox1.Checked)  // gives state after the change
        {
            picMainPicture.SizeMode = PictureBoxSizeMode.Zoom;
        }
        else
        {
            picMainPicture.SizeMode = PictureBoxSizeMode.AutoSize;
        }
    }

我认为对于面板专家来说很重要的属性:

Anchor: Top, Left
AutoScroll: True
Dock: Fill
ColumnSpan: 2
Location: 4,4
Size: 993, 501 // would happily reduce this if I knew how, it won't let me enter new numbers

我认为对于pictureBox重要的属性:

Anchor: Top, Left
Dock: Fill
Location: 0,0
Size: 993, 501
SizeMode: AutoSize

0 个答案:

没有答案