使用自己的“Click”事件将控件传递给函数

时间:2014-02-13 07:42:05

标签: c# event-handling controls

我使用this CodeProject制作自定义星级评分控件,我希望使用其Click事件将其传递给函数。

例如,

private ctlRating_Click(object sender, EventArgs e) {
    ChangeOutline(???);
}

private ChangeOutline(??? control) {
     if(control.SelectedStar > 0) {
         control.OutlineThickness = 0;
     }
     else {
         control.OutlineThickness = 1;
     }
}

我尝试使用this关键字,但这显然只是指向表单本身。我也尝试使用sender,但是它将它视为没有任何方法或值的对象。

这是否可能除了使用控件的名称(这可能更容易,但我想知道我是否可以这样做)?

1 个答案:

答案 0 :(得分:2)

施展

private ctlRating_Click(object sender, EventArgs e) {
    ChangeOutline(sender as StarRatingControl);
}

private ChangeOutline(StarRatingControl control) {
    if(control.SelectedStar > 0) {
        control.OutlineThickness = 0;
    }
    else {
        control.OutlineThickness = 1;
    }
}