сделать это, если ваш usercontrol сделан из VB.NET, должен обработать событие и повторно вызвать его для потребителя вашего контроля:
Public Class FilterBox
<Browsable(True)> _
Public Shadows Event TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
RaiseEvent TextChanged(sender, e)
End Sub
End Class
сделать это, если ваш usercontrol сделан из C #, просто перенаправить событие TextChanged в текстовое поле вашего usercontrol:
using System;
using System.ComponentModel;
using System.Windows.Forms;
namespace Craft
{
public partial class FilterBox : UserControl
{
public FilterBox()
{
InitializeComponent();
}
[Browsable(true)]
public new event EventHandler TextChanged
{
add
{
textBox1.TextChanged += value;
}
remove
{
textBox1.TextChanged -= value;
}
}//TextChanged "surfacer" :-)
}//FilterBox
}//Craft
в отношении потребления, FilterBox в VB.NET и Filterbox в C # одинаковы. но реализация в C # более проста: она просто подключает событие программиста-потребителя непосредственно к событию usercontrol textbox1.
я думаю, что заголовок статьи Определение методов добавления и удаления методов доступа к событиям в VB.NET должен быть: Хотите быть предметом зависти всех ваших друзей VB ?
Как видно из кода реализации выше, C # имеет меньше накладных расходов во время выполнения.
Код C # выше невозможен в VB.NET: Кто-то может спросить: «Почему меня это должно волновать?» Что ж, C # позволяет программистам определять свои собственные события добавления и удаления подписки. В результате разработчик C # может расширить поведение добавления и удаления методов подписки. Одним из полезных применений обработчика добавления и удаления является отображение события в элементе управления
примечание: использовать измененное событие текстового поля вашего usercontrol. в конструкторе VS выберите панель инструментов Свойства, щелкните значок события (молнии), дважды щелкните TextChanged, добавьте необходимую логику.