Функция реализует закрепление окна(формы) вашего приложения на краю экрана и запрещает его перемещение!
Ниже приведен код реализации данной задачи:
Ниже приведен код реализации данной задачи:
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;