我有一個程式可以根據我想要的數量創建特定數量的矩形。當我創建 1 個矩形時,創建 2 個矩形時的高度為 400,然后創建 4 個矩形時的高度為 200,高度為 100,我想您明白我在做什么。現在我想把它們放在一起。我給你3個例子。
這是我創建 1 個矩形時的樣子
當我想創建 2 個矩形時,高度應該除以 2。我已經這樣做了,這正在起作用,但我不能像這樣將它們放在一起 。
如果有人不明白我在嘗試什么,那就再舉一個例子。這就是我創建 5 個矩形時的樣子。
我試著把它們放在一起:
Canvas.SetLeft(MyRectangle[i], Width / 2.0 - MyRectangle[i].Width / 2.0);
Canvas.SetTop(MyRectangle[i], i * 120);
但這看起來像這樣,它不在螢屏頂部,另一個問題是,當我想要創建 2 時,它看起來像這樣。所以我嘗試在回圈中使用 i ,但我什么也想不通。這是我的代碼:
Brush brush = new SolidColorBrush(Color.FromRgb((byte)_random.Next(1, 255), (byte)_random.Next(1, 255), (byte)_random.Next(1, 255)));
int howmanyrect = 3;
Rectangle[] MyRectangle = new Rectangle[howmanyrect];
if (howmanyrect == 1)
{
Rectangle OneRectangle = new Rectangle();
OneRectangle.Fill = brush;
OneRectangle.StrokeThickness = 2;
OneRectangle.Stroke = Brushes.Black;
OneRectangle.Width = 400;
OneRectangle.Height = 400;
Canvas.SetLeft(OneRectangle, Width / 2.0 - OneRectangle.Width / 2.0);
Canvas.SetTop(OneRectangle, 30);
myCanvas.Children.Add(OneRectangle);
Content = myCanvas;
}
for (int i = 1; i <= howmanyrect - 1; i )
{
MyRectangle[i] = new Rectangle
{
Fill = brush,
StrokeThickness = 2,
Stroke = Brushes.Black,
Width = 400,
Height = 400 / howmanyrect
};
Canvas.SetLeft(MyRectangle[i], Width / 2.0 - MyRectangle[i].Width / 2.0);
Canvas.SetTop(MyRectangle[i], i * 120);
myCanvas.Children.Add(MyRectangle[i]);
Content = myCanvas;
}
uj5u.com熱心網友回復:
我嘗試修復您的代碼:
Brush brush = new SolidColorBrush(Color.FromRgb((byte)_random.Next(1, 255), (byte)_random.Next(1, 255), (byte)_random.Next(1, 255)));
int howmanyrect = 3;
Rectangle[] MyRectangle = new Rectangle[howmanyrect];
for (int i = 0; i < howmanyrect; i )
{
var rectangle = new Rectangle
{
Fill = brush,
StrokeThickness = 2,
Stroke = Brushes.Black,
Width = 400,
Height = 400 / howmanyrect
};
MyRectangle[i] = rectangle;
Canvas.SetLeft(rectangle, Width / 2.0 - rectangle.Width / 2.0);
var distance = 10;
Canvas.SetTop(rectangle, 30 i * (400 / howmanyrect) distance );
myCanvas.Children.Add(rectangle);
}
Content = myCanvas;
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/341191.html
上一篇:如何在WPF中首先更新UI?
下一篇:C#中的居中矩形
