Функция реализует закрепление окна(формы) вашего приложения на краю экрана и запрещает его перемещение!
Ниже приведен код реализации данной задачи:
Ниже приведен код реализации данной задачи:
private int width = Screen.PrimaryScreen.Bounds.Width; const int WM_NCLBUTTONDOWN = 0x00A1; const int WM_NCHITTEST = 0x0084; const int HTCAPTION = 2; [DllImport("User32.dll")] static extern int SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, IntPtr lParam); protected override void WndProc(ref Message m) { if (m.Msg == WM_NCLBUTTONDOWN) { int result = SendMessage(m.HWnd, WM_NCHITTEST, IntPtr.Zero, m.LParam); if (result == HTCAPTION) return; } base.WndProc(ref m); }Для закрепления формы на краю экрана, необходимо указать при запуске формы, расположение вашего приложения:
private void Form1_Load(object sender, EventArgs e) { //привязка формы к определенному месту экрана //верх правого угла экрана this.Location = new System.Drawing.Point(width - this.Size.Width, 0); }
Ссылка для скачивания примера: Rusfolder.net
Интересно, а можно такое-же реализовать в MDI приложении? Чтобы дочерние окна привязывались к границам родительской формы.
ОтветитьУдалитьДа это реализовать можно, в точности как привязка окон в Microsoft Visual Studio 2010. Вот вам ссылка на компонент http://sourceforge.net/projects/dockpanelsuite/
ОтветитьУдалитьа можно реализовать, чтобы при запуске программы, она сразу открывалась на весь экран? а размеры автоматически подгонялись под разные экраны мониторов
ОтветитьУдалитьЗдравствуйте, да можно:
ОтветитьУдалитьthis.WindowState = FormWindowState.Maximized;