Прежде всего, привет всем, потому что это мой первый пост.Не обнаружающий ключ-побег C#
Я новичок в C#, поэтому может быть, что решение очевидно.
У меня есть datagridview с именами и датами. При двойном щелчке по столбцу даты отображается датапиксель для выбранной даты. Если выбрано Escape, datetimepicker скрыт и старые данные вступают в силу. Когда код запущен, и если я дважды щелкнуть по столбцу даты в последней строке, появится datetimepicker, но вы не сможете его прочитать. Если то же самое выполняется в некоторой строке до последнего, esc работает нормально. Если то же самое делается сначала в какой-то другой строке, а затем в последней строке, снова работает esc. Единственная проблема заключается в том, что datetimepicker активируется сначала в последней строке. Также стенд для Ввод
Используется для считывания и ключ DateTimePicker обработки
private void dateTimePicker1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter) { CellAddValue(1, dateTimePicker1.Value); }
if (e.KeyCode == Keys.Escape) { CellAddValue(1, dateWhenSelDate); }
}
public void CellAddValue(int o, DateTime date)
{
string dateString = date.ToString(dateFormat);
if (DateTime.Compare(date, dateTimePicker1.MinDate) == 0) { dateString = ""; }
dataGridView1.Rows[selectedRow].Cells[selectedColumn].Value = dateString;
if (o == 1)
{
dateTimePicker1.Hide();
dataGridView1.Focus();
}
}
Есть некоторые параметры или параметры, которые я должен установить, чтобы быть в состоянии работать? Благодаря
Благодарим за помощь. Это не решило проблему. Я все еще не знаю, почему так. Мне это удается по-другому. Datagrid был родителем для datetimepicker. Изменив это и отрегулировав положение подборщика, я получаю тот же эффект. – Djansr
Я обнаружил, что не могу обнаружить Escape (по любому методу), пока работает Photoshop (CS2). – TaW