回覆列表
-
1 # 使用者4296357785516
-
2 # 使用者9675793602082
1、Height和Width省略沒寫的話,它們的預設值是Auto,這個值會根據其包含的控制元件的佈局大小,自動調整自身大小。Top和Left省略沒寫,則控制元件的位置在左上角,不知道為什麼它們的預設值不是0而是Auto。2、Height、width屬性省略沒寫並不代表沒有。你可以透過ActualHeight和ActualWidth獲取該控制元件的實際大小。
private void AddCanvasControl(List = aStrType;
aBtn.Height
= 20; Font f = new Font("SimSun", 7F, System.Drawing.FontStyle.Regular);System.Drawing.Size
aSize = System.Windows.Forms.TextRenderer.MeasureText(aStrType, f); //獲得字元在控制元件中顯示的尺寸aBtn.Width
=aSize.Width
+ 20;aBtn.HorizontalAlignment
= HorizontalAlignment.Left; rCanvas.Children.Add(aBtn); if (aLocationX +aBtn.Width
> rCanvas.RenderSize.Width) { aLocationY += 25; aLocationX = 0; } Canvas.SetLeft(aBtn, aLocationX); //設定按鈕在容器中的位置 Canvas.SetTop(aBtn, aLocationY); aLocationX += (int)aBtn.Width
+ 10; } }