Я попробовал следующее:
private void Form1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if ((Keys) e.KeyValue == Keys.Escape)
this.Close();
}
Но это не работает.
Затем я попробовал это:
protected override void OnKeyDown(KeyEventArgs e)
{
base.OnKeyDown(e);
if (e.KeyCode == Keys.Escape)
this.Close();
}
И тем не менее ничто не работает.
KeyPreview на моих свойствах формы Windows Forms имеет значение true... Что я делаю неправильно?
Это всегда будет работать, независимо от правильного назначения обработчика событий, KeyPreview, CancelButton и т. Д .:
protected override bool ProcessCmdKey(ref Message msg, Keys keyData) {
if (keyData == Keys.Escape) {
this.Close();
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}
Реальное использование _
работает в этом пути:
Менеджер памяти Zend не использует системный malloc для каждого необходимого блока. Вместо этого он выделяет большой блок системной памяти (с приращениями 256K, может быть изменен путем установки переменной среды ZEND _ MM _ SEG _ SIZE
) и управляет ею внутри системы. Итак, существует два вида использования памяти:
Любой из них может быть возвращен memory _ get _ usage ()
. Какой из них более полезен для вас, зависит от того, что вы ищете. Если вы ищете возможности оптимизации кода в определенных частях, «внутренний» может оказаться более полезным для вас. Если вы отслеживаете использование памяти в глобальном масштабе, «real» будет более полезным. memory _ limit
ограничивает «реальное» число, так что, как только все блоки, разрешенные пределом, взяты из системы и менеджер памяти не может выделить запрошенный блок, там выделение не удается. Обратите внимание, что «внутреннее» использование в этом случае может быть меньше предела, но выделение все равно может завершиться неудачей из-за фрагментации.
Кроме того, если вы используете средство отслеживания внешней памяти, вы можете установить это
переменная среды USE _ ZEND _ ALLOC = 0
, которая отключит вышеупомянутый механизм и заставит механизм всегда использовать malloc ()
. Это имело бы гораздо худшую производительность, но позволяет использовать средства слежения malloc.
См. также статью об этом менеджере памяти , он также имеет некоторые примеры кода.
-121--2075257- Вам придется использовать класс, но не волнуйтесь, это довольно просто. Сначала мы назначим правила : hover
не только для физически зависших ссылок, но и для ссылок с именем класса hovered
.
a:hover, a.hovered { color: #ccff00; }
После нажатия кнопки # btn
мы переключим класс .hovered
на # ссылку
.
$("#btn").click(function() {
$("#link").toggleClass("hovered");
});
Если ссылка уже имеет класс, он будет удален. Если класс отсутствует, он будет добавлен.
-121--919085- Вы должны иметь возможность установить для свойства формы CancelButton
значение кнопки «Отмена», и тогда вам не понадобится код.
Предполагая, что у вас есть кнопка «Отмена», установка свойства формы CancelButton
(в дизайнере или в коде) должна позаботиться об этом автоматически. Просто поместите код для закрытия в событие Click
кнопки.
Под кнопкой Escape вы подразумеваете клавишу Escape? Судя по вашему коду, я думаю, что вы этого и хотите. Вы также можете попробовать Application.Exit (), но Close должен работать. У вас есть рабочий поток? Если запущен нефоновый поток, это может оставить приложение открытым.