我使用此 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
,但这将其视为没有任何方法或值的对象。
除了仅使用控件的名称(这可能更容易,但我想知道我是否可以这样做)之外,这是否可能?
投射它
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;
}
}