Просто необходимо добавить открытый метод для вызова события. Microsoft уже делает это для некоторых событий такой как PerformClick для средств управления, которые представляют событие Click .
public class CustomGUIElement
{
public void PerformClick()
{
OnClick(EventArgs.Empty);
}
protected virtual void OnClick(EventArgs e)
{
if (Click != null)
Click(this, e);
}
}
Вы тогда сделали бы следующую внутреннюю часть Ваш обработчик событий в качестве примера...
public void CustomForm_Click(object sender, MouseEventArgs e)
{
_elements[0].PerformClick();
}
Если метод вашей формы поиска - получить вместо публикации, каждый поиск имеет свой собственный URL-адрес, и люди могут размещать эти URL-адреса в другом месте. Или, если у вас есть (возможно, непреднамеренно) общедоступная страница веб-статистики, на которой перечислены эти URL-адреса, это еще один распространенный способ для поисковых систем наткнуться на ваши внутренние поисковые URL-адреса. Третий способ, который я видел, - это сайты, на которых перечислены недавние поисковые запросы, но это более намеренно. "MySQL Performance Blog" делает это до досадной степени, поэтому любой поиск по их сайту в Google дает сотни страниц с похожими поисковыми запросами, даже если ни один из них не нашел то, что искал.
Изменить: Похоже, что это происходит на повод, но только формы GET: http://googlewebmastercentral.blogspot.com/2008/04/crawling-through-html-forms.html