我无法在自定义控件中获取PictureBox控件以正确调整大小

时间:2015-02-10 22:40:35

标签: c# visual-studio-2013 custom-controls .net-4.5

我正在创建一个简单的自定义控件,其中有3个视觉元素在列中对齐:顶部为Label,中间为PictureBox,底部为另一个PictureBox。设计师的控件尺寸为100 x 70。

enter image description here

我无法让2 PictureBox个控件的宽度调整到100px以下。控件位于TableLayoutPanel。每个控件都停靠在Fill。面板本身停靠在设计面板中的Fill

当我将控件放入表单时,PictureBox控件的宽度不会缩小到100px以下: enter image description here

如您所见,它会剪切图像。高度完美地向上和向下扩展。我有一些调整大小代码,缩放标题的字体大小。

端口映像的PictureBox属性为:

    this.pbCOMPort.Dock = System.Windows.Forms.DockStyle.Fill;
    this.pbCOMPort.Image = global::SerialTest.Properties.Resources.comport;
    this.pbCOMPort.Location = new System.Drawing.Point(0, 17);
    this.pbCOMPort.Margin = new System.Windows.Forms.Padding(0);
    this.pbCOMPort.Name = "pbCOMPort";
    this.pbCOMPort.Size = new System.Drawing.Size(100, 38);
    this.pbCOMPort.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
    this.pbCOMPort.TabIndex = 1;
    this.pbCOMPort.TabStop = false;

我尝试在设计器中缩小图像,但是当我手动将PictureBox控件的大小编辑为低于100px的任何值时,它会立即跳回到100.我还尝试在调整大小时调整控件的大小TableLayoutPanel的事件:

//resize the picture box
var pbsize = pbCOMPort.Size;
pbCOMPort.Size = new System.Drawing.Size(tableLayoutPanel1.Width, pbsize.Height);

但它不起作用。由于某种原因,宽度不会低于100。

0 个答案:

没有答案