Код: Выделить всё
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == (Keys.Alt | Keys.M))
{
ToggleMagnifier();
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}
< /code>
И вот метод переключения: < /p>
private void ToggleMagnifier()
{
if (magnifierForm == null || magnifierForm.IsDisposed)
{
magnifierForm = new MagnifierForm()
{
Size = new Size(150, 150),
AutoClose = true,
HideCursor = true,
ZoomFactor = 2,
NearestNeighborInterpolation = false
};
magnifierForm.Show();
}
else
{
magnifierForm.Close();
magnifierForm.Dispose(); // Explicitly dispose the form
magnifierForm = null;
}
}
Код: Выделить всё
magnifierForm.Close();
может ли проблема быть в коде Magnifierform ? В этой части: < /p>
Код: Выделить всё
protected override void OnMouseUp(MouseEventArgs e)
{
base.OnMouseUp(e);
mouseDown = false;
if (HideCursor)
Cursor.Show();
if (AutoClose)
Dispose();
}
Подробнее здесь: https://stackoverflow.com/questions/796 ... -close-the