Как щелкнуть по слоям в форме? ⇐ C#

Место общения программистов C#
Anonymous
Как щелкнуть по слоям в форме?

Сообщение Anonymous »

Я работаю над приложением, которое позволяет мне иметь фотографию, которую можно перетаскивать по экрану, пока форма невидима и доступна по клику; сама фотография, к сожалению, также является переходом по клику с моим текущим кодом.
Я просмотрел все, и все говорит мне, что нужно использовать SetWindowLong() при переходе по форме и увидеть через, однако я не могу найти ничего о слоях, по которым я хочу переходить, а по чему нет.
Это текущий код, который я использую;

Код: Выделить всё

uint ex_style = GetWindowLong(this.Handle, GWL.ExStyle);
SetWindowLong(this.Handle, GWL.ExStyle, ex_style | WS_EX_LAYERED | WS_EX_TRANSPARENT);

ex_style = GetWindowLong(button1.Handle, GWL.ExStyle);
SetWindowLong(button1.Handle, GWL.ExStyle, ex_style & 0 & 0);

public const uint WS_EX_LAYERED = 0x00080000;
public const uint WS_EX_TRANSPARENT = 0x00000020;
public enum GWL
{
ExStyle = -20
}

public enum WS_EX
{
Transparent = 0x20,
Layered = 0x80000
}

public enum LWA
{
ColorKey = 0x1,
Alpha = 0x2
}

[DllImport("user32.dll")]
public static extern uint GetWindowLong(IntPtr hWnd, GWL nIndex);

[DllImport("user32.dll")]
public static extern uint SetWindowLong(IntPtr hWnd, GWL nIndex, uint dwNewLong);
Это эффективно делает окно кликабельным, но не позволяет мне нажать кнопку в форме...


Подробнее здесь: https://stackoverflow.com/questions/791 ... -on-a-form

Вернуться в «C#»