亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

C#中怎么使用GDI繪制動態矩形

小億
106
2023-08-06 01:26:12
欄目: 編程語言

在C#中使用GDI繪制動態矩形,可以使用Graphics類的相關方法來實現。

下面是一個示例代碼,演示如何使用GDI繪制動態矩形:

using System;
using System.Drawing;
using System.Windows.Forms;
public class DrawingForm : Form
{
private Timer timer;
private int x, y, width, height;
private bool expanding;
public DrawingForm()
{
this.timer = new Timer();
this.timer.Interval = 50; // 設置定時器的間隔時間為50毫秒
this.timer.Tick += Timer_Tick;
this.x = 100;
this.y = 100;
this.width = 100;
this.height = 100;
this.expanding = true;
this.Paint += DrawingForm_Paint;
this.timer.Start(); // 啟動定時器
}
private void Timer_Tick(object sender, EventArgs e)
{
if (this.expanding)
{
if (this.width < 200)
{
this.width += 5;
}
else
{
this.expanding = false;
}
}
else
{
if (this.width > 100)
{
this.width -= 5;
}
else
{
this.expanding = true;
}
}
this.Invalidate(); // 使窗體無效,觸發重繪
}
private void DrawingForm_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
Pen pen = new Pen(Color.Red);
g.DrawRectangle(pen, this.x, this.y, this.width, this.height);
pen.Dispose();
g.Dispose();
}
public static void Main(string[] args)
{
Application.Run(new DrawingForm());
}
}

在這個示例代碼中,我們創建了一個繼承自Form的DrawingForm類,然后在構造函數中初始化定時器,并設置定時器的Interval屬性為50毫秒。然后,我們定義了一些變量來控制矩形的位置和大小,并在Paint事件中使用Graphics對象的DrawRectangle方法來繪制矩形。在定時器的Tick事件中,我們通過改變矩形的大小來實現動態效果,并在每次改變后調用Invalidate方法使窗體無效,從而觸發重繪。

最后,在Main方法中,我們使用Application.Run方法來啟動應用程序,并創建DrawingForm對象來顯示窗體。

0
喀喇| 湖北省| 民乐县| 金门县| 武隆县| 余庆县| 泽州县| 曲阜市| 崇明县| 丰台区| 靖西县| 武功县| 文水县| 商城县| 德令哈市| 上蔡县| 玉屏| 裕民县| 阿荣旗| 普陀区| 开鲁县| 漠河县| 广灵县| 固原市| 达日县| 井研县| 博罗县| 五莲县| 横峰县| 彰武县| 旬阳县| 泗水县| 乌拉特前旗| 武冈市| 额尔古纳市| 开江县| 黄骅市| 天等县| 北京市| 宿松县| 荔浦县|