вы можете установить Focus
на конкретный Cell
, установив для свойства Selected
значение true
dataGridView1.Rows[rowindex].Cells[columnindex].Selected = true;
, чтобы избежать установки только множественного выбора
dataGridView1.MultiSelect = false;
Один из способов взлома - (неправильное) использование команды ping:
ping 127.0.0.1 -n 6 > nul
Объяснение:
ping
- это системная утилита, которая отправляет запросы ping. ping
доступен во всех версиях Windows. 127.0.0.1
- это IP-адрес localhost . Этот IP-адрес гарантированно будет всегда разрешаться, быть доступным и немедленно отвечать на запросы ping. -n 6
указывает, что должно быть 6 пингов. Между каждым эхо-запросом существует задержка в 1 с, поэтому для задержки в 5 с вам нужно отправить 6 эхо-запросов. > nul
подавить вывод ping
, перенаправив его на nul
. Следующий прием позволяет вам спать на 5 секунд
ping -n 6 127.0.0.1 > nul
Поскольку ping ждет секунду между ping-запросами, вы должны указать на один больше, чем вам нужно.
Вы можете использовать VBScript , например, файл myscript.vbs
:
set wsobject = wscript.createobject("wscript.shell")
do while 1=1
wsobject.run "SnippingTool.exe",0,TRUE
wscript.sleep 3000
loop
Пакетный файл:
cscript myscript.vbs %1
Я очень удивлен, что никто не упомянул:
C:\> timeout 5
NB Однако обратите внимание (спасибо, Дэн!), Что тайм-аут 5
означает:
Sleep где-то между 4 и 5 секундами
Это можно проверить эмпирически, поместив следующее в пакетный файл, запустив его несколько раз и вычислив разницу во времени между первым и вторым эхо
с:
@echo off
echo %time%
timeout 5 > NUL
echo %time%
Если у вас есть соответствующая версия Windows и Windows Server 2003 Resource Kit Tools, в него входит команда sleep для пакетных программ. Подробнее на: http://malektips.com/xp_dos_0002.html
Попробуйте выполнить команду Choice . Он существует с MSDOS 6.0 и должен помочь.
Используйте параметр / T, чтобы указать время ожидания в секундах, и параметр / D, чтобы указать выбор по умолчанию и игнорировать выбранный вариант.
Единственная проблема, которая может быть проблемой, - это если пользователь набирает один из выбранных символов до истечения периода ожидания. Частичный обходной путь состоит в том, чтобы запутать ситуацию - используйте аргумент / N, чтобы скрыть список допустимых вариантов и иметь только 1 символ в наборе вариантов, чтобы было меньше вероятности того, что пользователь введет правильный выбор перед истекает тайм-аут.
Ниже приводится текст справки по Windows Vista. Я думаю, что то же самое в XP, но посмотрите текст справки на компьютере XP, чтобы убедиться.
C:\>CHOICE /?
CHOICE [/C choices] [/N] [/CS] [/T timeout /D choice] [/M text]
Description:
This tool allows users to select one item from a list
of choices and returns the index of the selected choice.
Parameter List:
/C choices Specifies the list of choices to be created.
Default list is "YN".
/N Hides the list of choices in the prompt.
The message before the prompt is displayed
and the choices are still enabled.
/CS Enables case-sensitive choices to be selected.
By default, the utility is case-insensitive.
/T timeout The number of seconds to pause before a default
choice is made. Acceptable values are from 0 to
9999. If 0 is specified, there will be no pause
and the default choice is selected.
/D choice Specifies the default choice after nnnn seconds.
Character must be in the set of choices specified
by /C option and must also specify nnnn with /T.
/M text Specifies the message to be displayed before
the prompt. If not specified, the utility
displays only a prompt.
/? Displays this help message.
NOTE:
The ERRORLEVEL environment variable is set to the index of the
key that was selected from the set of choices. The first choice
listed returns a value of 1, the second a value of 2, and so on.
If the user presses a key that is not a valid choice, the tool
sounds a warning beep. If tool detects an error condition,
it returns an ERRORLEVEL value of 255. If the user presses
CTRL+BREAK or CTRL+C, the tool returns an ERRORLEVEL value
of 0. When you use ERRORLEVEL parameters in a batch program, list
them in decreasing order.
Examples:
CHOICE /?
CHOICE /C YNC /M "Press Y for Yes, N for No or C for Cancel."
CHOICE /T 10 /C ync /CS /D y
CHOICE /C ab /M "Select a for option 1 and b for option 2."
CHOICE /C ab /N /M "Select a for option 1 and b for option 2."