Как c # обрабатывает событие под капотом в clr, для стандартных элементов управления win32, скажем, кнопка:
Пример: (c #)
private void Form1_Load(object sender, EventArgs e)
{
button1.Click += (_, __) => { MessageBox.Show("You clicked me !"); };
}
Это похоже на c ++ восновной цикл обработки сообщений? `
Пример:
while (GetMessage(&msg, NULL, 0, 0))
{
if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_COMMAND:
if(hWnd>0 && hWnd==buttonhwnd) //Button click
{
callback_button();
}
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
return 0;
}
Я имею в виду, будут ли все стандартные элементы управления в c # отправлять каждый сигнал, например щелчок, наведение мыши и т. д., в симметричный цикл - и затемчтобы обратный звонок зарегистрирован в исходном коде?Как мой лямбда-пример?