На форму вешаю компонент "Panel" кидаю на панель label.
Для передвижения панели без бордера кидаю код в MouseDown
:
private void Panel1_MouseDown(object sender, MouseEventArgs e)
{
Panel1.Capture = false;
var m = Message.Create(Handle, 0xa1, new IntPtr(2), IntPtr.Zero);
WndProc(ref m);
}
Так передвигается просто панель, а как сделать чтобы ещё при зажатие на label панель передвигалась?
Есть два варианта.
Все дочерние контролы на этой панели подписать на событие и аналогично передвигать панель.
Сделать Label
(и все другие используемые контролы) на этой панели прозрачным для кликов.
public class HitTransparentLabel : Label
{
protected override void WndProc(ref Message m)
{
const int WM_NCHITTEST = 0x0084;
const int HTTRANSPARENT = -1;
if (m.Msg == WM_NCHITTEST)
m.Result = (IntPtr)HTTRANSPARENT;
else
base.WndProc(ref m);
}
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Я не так давно начал изучать C#, и пока что, к сожалению, не знаю всех тонкостей и возможностейПринципиально изучаю методом проб и ошибок, ну и иногда...
Добрый день! как я могу запустить свой проект на другом компьютере в одинаковом со мной домене с моими логином и паролемСуть проблемы: написал...
Пишу программу в С#, которая предполагает простое анкетирование пользователей с последующем выводом данных