ivan96222 Опубликовано 8 декабря, 2014 Поделиться Опубликовано 8 декабря, 2014 (изменено) Всем привет сегодня я расскажу как сделать форму прозрачной когда вы её перемещаете, так же как сделать что бы форму можно было перетаскивать за любой её участок.1== чтобы сделать форму прозрачной при перемешение надо вставить следующей код где хотите.protected override void WndProc(ref Message m) { const int WM_NCLBUTTONDOWN = 0x00A1; const int WM_MOUSEMOW = 0x00A0; if (m.Msg == WM_NCLBUTTONDOWN) { this.Opacity = 0.5; } if(m.Msg == WM_MOUSEMOW) { this.Opacity = 1.0; } base.WndProc(ref m); } 2== Для того чтобы перетаскивать форму, за любой её участок кроме компонентов формы надо использовать WinAPI, но не пугайтесь ничего сложного нету Вставляем после public partial class Form1 : Form {следующий код[DllImport("user32.dll", CharSet = CharSet.Auto)] static extern IntPtr SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam); [DllImportAttribute("user32.dll")] public static extern bool ReleaseCapture(); Ну и в событие Form1_MouseDown пишемprivate void Form1_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { ReleaseCapture(); SendMessage(this.Handle, 0xA1, 0x2, 0); } 3== Теперь делаем картинку на плавный запуск запуск Вы не поверите, но в Form1 мы ничего даже писать не будем для этого Создаём Form2, это будет наша картинка. В FormBolderStyle - Ставим None. Далее заходим в Program.cs и убираем это: Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.Run(newForm1());и вставляем это: Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Form2 first = new Form2();DateTime end = DateTime.Now + TimeSpan.FromSeconds(5);first.Show();while (end > DateTime.Now){Application.DoEvents();}first.Close();first.Dispose();Application.Run(new Form1()); Теперь наступило время сделать нашу картинку, сделали? Теперь загружаем её на форму: BackGroundImage, затем на импорт и окей и BackGroundImageLayot ставим Stretch это что бы картинка автоматически применяла размер формы так сказать без возни . Выставляем Прозрачность Form2 на 0: Opacity - 0. Теперь добавляем на форму Form2 Таймер, ставим интервал 10. Теперь в событии таймера пишем: this.Opacity += .03; if (this.Opacity == 1){timer1.Stop();}и послеInitializeComponent();Пишем timer1.Start();//Вот и всё Спасибо за прочтение Изменено 8 декабря, 2014 пользователем ivan96222 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения