Во первых - это логично в данной конкретной (моей) задаче , а во вторых - пускай элемент (в данном случае StringTable) сначала закончит все свои внутренние дела (по входному событию), а уж потом выдаёт результат. И выделение строчки я считаю внутренним делом..