How does Explorer determine the delay between clicking on an item and initiating an edit?
Ian Boyd wants to know why the specific value of 500ms was chosen as the edit delay in Windows Explorer. Because it’s your double-click time. Since the double-click action (execute) is not an extension of the single-click action (edit), Explorer (and more generally, list view) waits for the double-click timeout before entering edit mode so it can tell whether that first click was really a single-click on its own or a single-click on the way to a double-click. If the timeout were shorter than the double-click time, then double-clicking an item would end up having the first click trigger edit mode and the second click selecting text inside the editor. (If the timeout were longer, then everything would still work, but you would just have to wait longer.)
Ian says, “Through my testing it does not appear linked to configurable double-click timeout.” My guess is that Ian changed the double-click timeout not by calling
SetDoubleClickTime but by whacking a registry value directly. The values in the registry are loaded and cached at logon; you can update them all you want at runtime, nobody will care.