Как добавить пользовательское свойство и события в элемент управления, скажем, в текстовое поле или кнопку - PullRequest
2 голосов
/ 13 января 2010

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

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

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

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

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

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

Ответы [ 3 ]

5 голосов
/ 13 января 2010

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

Проверьте это или это из MSDN

3 голосов
/ 13 января 2010

Вы можете наследовать от элемента управления, который хотите, и расширять его по своему усмотрению. 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 голосов
/ 13 января 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...