|
@@ -0,0 +1,76 @@
|
|
|
+using System;
|
|
|
+using System.Collections.Generic;
|
|
|
+using System.ComponentModel;
|
|
|
+using System.Data;
|
|
|
+using System.Drawing;
|
|
|
+using System.Linq;
|
|
|
+using System.Text;
|
|
|
+using System.Threading.Tasks;
|
|
|
+using System.Windows.Forms;
|
|
|
+
|
|
|
+namespace HelloAppp
|
|
|
+{
|
|
|
+ public partial class Form1 : Form
|
|
|
+ {
|
|
|
+ Point moveStart; // точка для перемещения
|
|
|
+
|
|
|
+ public Form1()
|
|
|
+ {
|
|
|
+ InitializeComponent();
|
|
|
+ this.FormBorderStyle = FormBorderStyle.None;
|
|
|
+ this.BackColor = Color.Yellow;
|
|
|
+ Button button1 = new Button
|
|
|
+ {
|
|
|
+ Location = new Point
|
|
|
+ {
|
|
|
+ X = this.Width / 3,
|
|
|
+ Y = this.Height / 3
|
|
|
+ }
|
|
|
+ };
|
|
|
+ button1.Text = "Закрыть";
|
|
|
+ button1.Click += button1_Click;
|
|
|
+ this.Controls.Add(button1); // добавляем кнопку на форму
|
|
|
+ this.Load += Form1_Load;
|
|
|
+ this.MouseDown += Form1_MouseDown;
|
|
|
+ this.MouseMove += Form1_MouseMove;
|
|
|
+ }
|
|
|
+
|
|
|
+ private void button1_Click(object sender, EventArgs e)
|
|
|
+ {
|
|
|
+ this.Close();
|
|
|
+ }
|
|
|
+
|
|
|
+ private void Form1_Load(object sender, EventArgs e)
|
|
|
+ {
|
|
|
+ System.Drawing.Drawing2D.GraphicsPath myPath = new System.Drawing.Drawing2D.GraphicsPath();
|
|
|
+ // создаем эллипс с высотой и шириной формы
|
|
|
+ myPath.AddEllipse(0, 0, this.Width, this.Height);
|
|
|
+ // создаем с помощью элипса ту область формы, которую мы хотим видеть
|
|
|
+ Region myRegion = new Region(myPath);
|
|
|
+ // устанавливаем видимую область
|
|
|
+ this.Region = myRegion;
|
|
|
+ }
|
|
|
+
|
|
|
+ private void Form1_MouseDown(object sender, MouseEventArgs e)
|
|
|
+ {
|
|
|
+ // если нажата левая кнопка мыши
|
|
|
+ if (e.Button == MouseButtons.Left)
|
|
|
+ {
|
|
|
+ moveStart = new Point(e.X, e.Y);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void Form1_MouseMove(object sender, MouseEventArgs e)
|
|
|
+ {
|
|
|
+ // если нажата левая кнопка мыши
|
|
|
+ if ((e.Button & MouseButtons.Left) != 0)
|
|
|
+ {
|
|
|
+ // получаем новую точку положения формы
|
|
|
+ Point deltaPos = new Point(e.X - moveStart.X, e.Y - moveStart.Y);
|
|
|
+ // устанавливаем положение формы
|
|
|
+ this.Location = new Point(this.Location.X + deltaPos.X,
|
|
|
+ this.Location.Y + deltaPos.Y);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|