Обычно вы можете установить дескриптор элемента управления, ссылку Message.hWnd
на IntPtr.Zero
: сообщение не будет доставлено.
Это не относится к элементу управления DomainUpDown
: он не получает сообщение WM_PASTE
, только WM_COMMAND
.Установка ссылки дескриптора на IntPtr.Zero
бесполезна, элемент управления, обрабатывающий сообщения, является дочерним UpDownEdit
элементом управления (TextBox
производное).
Возможное решение:
Отключить Control-V
, Shift-Insert
и ContextMenu
при нажатии правой кнопки мыши:
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if ((keyData == (Keys.Control | Keys.V)) || (keyData == (Keys.Shift | Keys.Insert))) {
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}
ContextMenu emptyMenu = new ContextMenu();
protected override void OnMouseDown(MouseEventArgs e)
{
if (e.Button == MouseButtons.Right) {
this.ContextMenu = emptyMenu;
return;
}
base.OnMouseDown(e);
}
protected override void Dispose(bool disposing)
{
if (disposing && this.emptyMenu != null) {
this.emptyMenu.Dispose();
}
base.Dispose(disposing);
}