Вы, конечно, знаете, что под классом .NET ListView находится элемент управления списком Windows. Этот элемент управления просмотра списка использует элемент управления всплывающей подсказки Windows для отображения усеченных строк.
Вы можете получить этот базовый элемент управления всплывающей подсказки через сообщение LVM_GETTOOLTIPS.
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern IntPtr SendMessage(IntPtr hWnd, int msg,
int wParam, int lParam);
public IntPtr GetTooltipControl(ListView lv) {
const int LVM_GETTOOLTIPS = 0x1000 + 78;
return SendMessage(lv.handle, LVM_GETTOOLTIPS, 0, 0);
}
Если у вас есть дескриптор элемента управления всплывающей подсказки, вы можете отправлять ему сообщения.
public void SetTooltipDelay(ListView lv, int showTime) {
const int TTM_SETDELAYTIME = 0x400 + 3;
const int TTDT_AUTOPOP = 2;
IntPtr tooltip = this.GetTooltipControl(lv);
if (tooltip != IntPtr.Zero) {
SendMessage(tooltip, TTM_SETDELAYTIME, TTDT_AUTOPOP, showTime);
}
}
showTime - это количество миллисекунд, в течение которого элемент управления должен оставаться видимым.