Как добавить пользовательское свойство и события в элемент управления, скажем, в текстовое поле или кнопку

2

Я хочу добавить настраиваемое свойство к кнопке в форме окна. В настоящее время я использую следующий код для создания моей логики. но я хочу создать значение перечисления для кнопки управления.

btnPartyDetails.Text = "View";
{}
btnPartyDetails.Text = "Add";
{}    
btnPartyDetails.Text = "Delete";
{}
btnPartyDetails.Text = "Edit";
{}

Я хочу выполнить какое-то действие на основе этих значений, и я хочу создать настраиваемое свойство для кнопки, чтобы я мог использовать перечисление вместо использования текстового соответствия.

btnPartyDetails.ActionType= ActionType.View;
{}
btnPartyDetails.ActionType= ActionType.Add;
{}    
btnPartyDetails.ActionType= ActionType.Delete;
{}
btnPartyDetails.ActionType= ActionType.Edit;
{}

Я хочу сделать что-то вроде этого, где ActionType будет моим enum.

Я также хочу создать собственное событие на основе установленного значения. Как я могу это сделать?

Теги:
winforms

3 ответа

5
Лучший ответ

Вам нужно будет создать собственный элемент управления, а затем наследовать класс кнопки. Затем создайте свои пользовательские свойства и/или события.

Отметьте этот или этот из MSDN

3

Вы можете наследовать от элемента управления, которого хотите, и расширить его, как хотите. AFAIK ни один из элементов управления не является закрытым классом в winform. Таким образом, вы можете добавить дополнительные свойства и события. Что-то вроде:

public class MyTextBox : System.Windows.Forms.TextBox {

public string MetaMessage {get;set;}

public event SomeCoolEventHandler CoolEvent;
public delegate SomeCoolEventHandler(object sender, CoolEventArgs args);
}

public class CoolEventArgs: EventArgs{

....
}
0

Вам нужно вывести новый класс из кнопки

Ещё вопросы

Сообщество Overcoder
Наверх
Меню