代码库のC#千千静听 - 桌面歌词 (功能模拟)
- using System.Drawing;
- using System.Windows.Forms;
- using System.Drawing.Drawing2D;
-
- namespace WindowsFormsApplication2
- {
- public partial class Form1 : Form
- {
- public Form1()
- {
- InitializeComponent();
- this.DoubleBuffered = true;//开启双缓存,显示能够更平滑。
- this.Size = SystemInformation.WorkingArea.Size;//默认以整个桌面为大小。这样就可以显示全部文字!
- }
-
-
-
- Point mouse_offset;
- private void Form_MouseDown(object sender , MouseEventArgs e)
- {
- mouse_offset = e.Location; //将当前鼠标相对于“窗体”左上角的坐标赋值给mouse_offset
- }
-
- private void Form_MouseMove(object sender , MouseEventArgs e)
- {
-
- if ( e.Button == MouseButtons.Left )
- {
- Left = Control.MousePosition.X - mouse_offset.X;
- Top = Control.MousePosition.Y - mouse_offset.Y;
- }
- }
-
- string strText2Show = "俺是谁嗫?";
- private void Form1_Paint(object sender , PaintEventArgs e)
- {
- GraphicsPath buttonPath = new GraphicsPath();
- System.Drawing.Rectangle newRectangle = this.ClientRectangle;
-
- string stringText = strText2Show;//要显示的字符串。
-
- FontFamily family = new FontFamily("Arial");//修改字体。
- int fontStyle = (int)FontStyle.Regular;//字体字形,eg:加粗或倾斜?
- int emSize = 72;//字体大小
- Point origin = new Point(0 , 700-72);//显示的位置。
- StringFormat format = StringFormat.GenericDefault;//文本布局信息
-
-
- // 使用“字符串”显示。
- buttonPath.AddString(stringText ,
- family ,
- fontStyle ,
- emSize ,
- origin ,
- format);
-
- this.Region = new System.Drawing.Region(buttonPath);
- this.BackColor = Color.Red;
- }
-
- private void Form1_Click(object sender , System.EventArgs e)
- {
- strText2Show = "这是变化后的文本!";
- this.Refresh();
- }
- }
- }