我正在创建一个简单的自定义控件,其中有3个视觉元素在列中对齐:顶部为Label
,中间为PictureBox
,底部为另一个PictureBox
。设计师的控件尺寸为100 x 70。
我无法让2 PictureBox
个控件的宽度调整到100px以下。控件位于TableLayoutPanel
。每个控件都停靠在Fill
。面板本身停靠在设计面板中的Fill
。
当我将控件放入表单时,PictureBox
控件的宽度不会缩小到100px以下:
如您所见,它会剪切图像。高度完美地向上和向下扩展。我有一些调整大小代码,缩放标题的字体大小。
端口映像的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。